14.8 文件操作
第1章中已经提及RAM中存储的内容在掉电后会自动消失,可有些信息在下次通电开机时可能会用到,文件可以有效解决这一问题,文件本身是存储在某种设备(硬盘、光盘、软盘和磁带等)上的一系列字节,流类库处理文件的机制和标准输入输出机制完全一样,文件也被看成是一种“流”,要写入文件,可以通过创建ofstream类对象,并使用其类内方法,如write函数或<<操作符来完成,要读取文件可通过创建ifstream类对象,使用其类内方法,如get函数或>>操作符来完成。
14.8.1 文件操作基本过程
在C++中,要进行文件的输入/输出,必须首先创建一个流,然后将这个流与文件相关联,即打开文件,此时才能进行读/写操作,完成后再关闭这个文件。这就是C++中进行文件输入/输出的基本过程。
C++中有3种类型的文件流:输入文件流ifstream,输出文件流ofstream,以及输入/输出文件流fstream。这些文件流类都定义在fstream文件中。因此,在使用3种流对象之前,只需要包含头文件<fstream>即可。实际上,ifstream是从istream继承而来,ofstream是从ostream继承而来,而fstream是从iostream继承而来的,也就是说,前面所讲的输入输出流的机制,如各种插入符>>的定义、格式化方法、控制符和流状态等同样适用于文件操作,同时,为了满足文件操作的特殊要求,在派生类中增加了一些针对文件的处理函数。
提示 实际上,ifstream、ofstream和fstream也分别是模板类basic_ifstream、basic_ofstream和basic_fstream的实例化。