- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3-5输入输出流库
3.5 输入输出流库
3.5.1 概述
3.5.2 流的格式控制和错误处理
3.5.3 使用输入输出成员函数
3.5.4 提取和插入运算符重载
3.5.5 文件流概述
3.5.6 顺序文件操作
3.5.7 随机文件的操作
;3.5.1概述
输入输出操作是由“流”来处理的。数据从一个位置到另一个位置的流动抽象为“流”。数据从键盘流入到程序中时,这样的流称为“输入流”,数据从程序中流向屏幕或磁盘文件时,这样的流称为“输出流”。
当流被建立后就可以使用一些特定的操作从流中获取数据可向流中添加数据。从流中获取数据的操作称为“提取”操作,向流中添加数据的操作称为“插入”操作。
C++提供了四个预定义的标准流对象:cin、cout、cerr和clog。当在程序中包含了头文件“iostream.h”,编译器调用相应的构造函数,产生这四个标准流对象,在程序中就可以直接使用它们了。
cin是istream类的对象,用处理标准输入,即键盘输入。cout是ostream类的对象,用处理标准输出,即屏幕输出。cerr和clog都是ostream类的对象,用来处理标准出错信息,并将信息显示在屏幕上。在这四个标准流对象中,除了cerr不支持缓冲外,其余三个都带有缓冲区。
标准流通常用提取运算符“”和插入运算符“”来进行输入输出操作的,而且系统还会自动地完成数据类型的转换。由于前面已讨论过cin和cout的用法,对于cerr和clog也可同样使用,因此这里就不再重复了。 ;3.5输入输出流库 ;3.5.2流的格式控制和错误处理
使用格式控制成员函数
在ios类中控制输入输出的成员函数有:
int ios::width(); // 返回当前的宽度设置
int ios::width(int); // 设置宽度并返回上一次的设置
int ios::precision(); // 返回当前的精度设置
int ios::precision(int); // 设置精度并返回上一次的设置
char ios::fill(); // 返回当前空位填充的字符
char ios::fill(char);// 设置空位填充的字符并返回上一次的设置
long ios::setf(long); // 设置状态标志并返回上一次的状态标志
long ios::unsetf(long); // 消除状态标志并返回上一次的状态标志
long ios::flags(); // 返回当前的状态标志
long ios::flags(long); // 设置状态标志并返回上一次的状态标志 ; [例Ex_FormatFunc] 使用格式控制成员函数。
#include iostream
using namespace std;
void main()
{
int nNum = 12345;
double dNum = 12345.6789;
char *str[] = {This, is, a Test!};
cout.setf(ios::oct|ios::showbase|ios::showpos);
coutnNum\tdNumendl;
cout.setf(ios::hex|ios::scientific|ios::uppercase);
coutnNum\tdNumendl;
cout.fill(*); // 设置填充符号为*
for (int i=0; i3; i++)
{ cout.width(12); coutstr[i] ; }
coutendl;
cout.setf(ios::left); // 设置标志:左对齐
for (i=0; i3; i++)
{ cout.width(12); coutstr[i] ; }
coutendl;
char a[10];
cin.getline(a,sizeof(a));
} ;使用格式算子
格式算子是一个对象,可以直接被插入符或提取符操作。 ; [例Ex_Formator] 使用格式算子。
#include iostream
#include iomanip
using namespace std;
void main()
{ int nNum = 12345; double dNum = 12345.6789;
char *str[] = {This, is, a Test!};
coutsetiosflags(ios::oct|ios::showbase|ios::showpos); coutnNum\tdNumendl;
coutsetiosflags(ios::hex|ios::scien
文档评论(0)