14.3 文件和流
优质
小牛编辑
123浏览
2023-12-01
C++ 语言把每一个文件都看成一个有序的字节流(见图 14.2),每一个文件或者以文件结束符(end-of-file marker)结束,或者在特定的字节号处结束(结束文件的特定的字节号记录在由系统维护和管理的数据结构中)。当打开一个文件时,该文件就和某个流关联起来。
第11章曾介绍过 cin、cout、cerr 和 clog 这4个对象会自动生成。与这些对象相关联的流提供程序与特定文件或设备之间的通信通道。例如 .cin 对象(标准输入流对象)使程序能从键盘输入数据,cout 对象(标准输出流对象)使程序能向屏幕输出数据,cerr 和 clog 对象(标准错误流对象)使程序能向屏幕输出错误消息。
图14.2 C++ 把文件看成 n 个字节
要在 C++ 中进行文件处理,就要包括头文件 <iostream.h> 和 <fstream.h>。<fstream.h> 头文件包括流类ifstream(从文件输入)、ofstream(向文件输出)和fstream(从文件输入,输出)的定义。生成这些流类的对象即可打开文件。这些流类分别从 istream、ostream 和 iostream 类派生(即继承它们的功能)。这样,第11章 C++输入,输出流 中介绍的成员函数、运算符和流操纵算子也可用于文件流。I/O 类的继承关系见图 14.3。