I/O流

将流对象与文件关联起来,在程序中,通过操作流对象,去操作文件对象。
当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件对象。所谓文件:可以是磁盘上的文件,也可以是外部设备,将外部设备也看做文件处理。
流是信息流动的一种抽象,它负责在数据的生产者与数据的消费者之间建立联系,并管理数据的流动。
通过操作流对象,可以达到控制数据输入输出的目的
当程序需要信息的输入,输出时,首先需要
1.建立流对象
2.指定这个流对象与某个文件对象建立连接
3.程序操作流对象
4.流对象通过文件系统对所连接的文件对象产生作用



输出流:ostream
ofstream
ostringstream
预先定义的输出流对象:
cout:输出程序正常运行结果
cerr:没有缓冲。发送给它的内容全部被输出,通常用它来输出一些紧急的错误信息
clong:类似cerr,有缓冲,缓冲区满才输出,不是第一时间输出,一般是需要用户看到的东西,如在运行过程中需要被记录下来的运行状态,或不那么
急的错误信息。

可以将标准输出流定义到不同地方去:
重新定向:构造输出流对象,需要构造ofstream类对象,这个类支持磁盘文件的输出。
①:在构造函数指定一个文件名:当构造这个文件时该文件自动打开
ofstream myfile(“filename”);
②:可以用默认构造函数,之后用open成员函数打开文件
ofstream myfile;//声明了静态文件输出流对象
myfile.open(“filename”);//打开文件,使文件与流对象建立联系

原文地址:https://www.cnblogs.com/ymd12103410/p/9615450.html