您的位置:首页 > 编程语言 > C语言/C++

C++学习笔记之I/O流

2015-04-09 21:56 239 查看
C++提供的I/O流类库含有两个平行基类:streambuf 和 ios,所有的流类都是由它们派生出来的。

ios类包含四个直接派生类:输入流类istream,输出流类ostream,文件流类fstreambase,串流类strstreambase。

I/O流类库最主要的头文件iostream,它支持cin,cout,cerr,clog。

iomanip头文件 包含带参数 的流操作算子的有关信息;

fstream头文件包含对文件I/O操作的有关信息;

strstream包含对内存格式化I/O操作的有关信息;

stdiostream包含对混合C和 C++风格的I/O操作。

I/O流类列表
类名说明所在头文件
ios流基类iostream
istream标准输入流iostream
ifstream输入文件流类fstream
istream_withassigncin的输入流类iostream
istrstream输入字符串流类strstrea
ostream  
ofstream  
ostrstreamcout、cerr、clog 
ostrstream输出字符串流类strstrea
iostream  
fstream  
strstream strstrea
stdiostream stdiostr
streambuf抽象流缓冲区基类iostream
filebuf磁盘文件缓冲区流类fstream
strstreambuf字符串流缓冲区类strstrea
stdiobuf标准I/O缓冲区类stdiostr
   
   
·

cerr用于给用户生成警告或错误信息,一经生成立即输出,属于非缓冲输出。
clog用于生成程序的执行情况信息,属于缓冲输出,对应标准错误输出设备(显示屏),处理出错信息,要等缓冲区刷新时才输出一次。
I/O分为无格式和有格式两种,无格式I/O以字节为操作单位,有格式I/O以数据类型为操作单位。(处理大容量文件最好用无格式I/O)
cout的定义:ostream   cout(stdout);//将stdout作为一个输出流,输出流的名字任意。
运算符<<的重载:
ostream& operator<<(ostream& dest, char* pSource);
ostream& operator<<(ostream& dest, int source);
.`````
上述运算符重载为什么返回ostream流对象的引用??
括号里是两个操作数,从变量到cout。

cin的定义:istream   cin(stdin);
运算符>>的重载:
istream &  operator>>(istream& sour, char*  pDes);
这里是从cin到变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ io iostream ios