c++标准库IO

本文详细介绍了C++中IO流的基本概念,包括常用的IO流类如iostream、ifstream、ofstream等,以及它们之间的继承关系。此外,还讲解了如何使用这些类进行文件操作,特别是针对不同场景下的文件打开模式进行了说明,并探讨了输出缓冲区的刷新机制。
io都是通过一些类实现的。这些类包括iostream, istream, ostream, ifstream, ofstream,fstream, istringstream, ostringstream, stringstream. 其中ifstream和istringstream继承自istream,ofstream和ostringstream 继承自ostream.
io对象不能拷贝和赋值。
io对象都实现了操作符<<和>>进行输入和输出。
io操作有一些标志位来表示io操作是否成功。
对于ofstream来说,默认的打开文件的方式会清除文件原先的内容,如果不想清除原来的内容,应该一app的方式打开,即:ofstream out("file1",ofstream:app)
stringstream 对象是对内存中的string对象进行io操作。

输出缓冲区的刷新(数据被写入到输出设备):
1、程序结束,作为main函数的return操作的一部分;
2、缓冲区满了
3、endl等操作符显示刷新
4、可以设置留状态unitbf,每次输入均刷新缓冲区
5、一个输出流可能被关联到另一个流。在这种情况下,当读写被关联的流时,关联到的流的缓冲区会被刷新。例如,默认情况下,cin和cerr都关联到cout。因此,读cin或者写cerr都会导致cout的缓冲区被刷新

endl:刷新缓冲区并换行;
flush:刷新缓冲区,不输出任何额外的字符;
ends:向缓冲去插入一个空字符,然后刷新缓冲区。

文件模式:
in:以读方式打开;
out:以写方式打开;
app:每次操作前定位到文件末尾;
trunc:截断文件;
binary:以二进制方式进行IO。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值