在 C++ 程序中,数据可以从键盘流如到程序中,也可以从程序中流向屏幕或磁盘文件。把数据的流动抽象为流。
流在使用之前要被建立,使用后要被删除,还要使用一些特定的操作从流中获取数据或向流中添加数据。
从流中获取数据的操作称为提取操作,向流中添加时局的操作称为插入操作。
关于 C++ 对文件操作的 5 个描述文件抽象的类:
fstreambase 类:它只是一个公共基类,文件操作中不使用这个类。
Ifstream 类:从 istream 类派生,对文件进行提取操作。
Ofstream 类:从 ostream 类派生,对文件进行插入操作。
Fstream 类:从 fstreambase 类和 iostream 类中派生的,它对文件进行插入操作和提取操作。
Filebuf 类:从 satreambuf 类派生,用来作为上述的缓冲支持。
另外, I/O 流库还提供了处理内部初始化字符序列的操作。
常用的有如下两个类:
istrstream 类,它是由 istream 类派生来的,用来从序列中取字符。
Ostream 类:它是由 ostream 类派生来的,它用于将字符放入序列中。
还有系统还预定义了4个流类对象:
cin :是 istream 类的对象,用来处理标准输入。
cout: 是 ostream 类对象,用来处理标准输出。
cerr: 是 ostream 类的对象,用来处理标准输出的信息,它提供不带缓冲区的输出。
clog: 是 ostream 类的对象,用来处理标准输出的信息,它提供带缓冲区的输出。