一、文件输入输出类简述
在头文件fstream中声明了如下类:
basic_filebuf basic_ofstream basic_ifstream basic_fstream
这些类提供了文件输入和输出的高层接口,其中的basic_filebuf提供了对文件的缓冲访问
1.1 basic_ofstream
basic_ofstream是从basic_ostream派生而来的模板类,包含了将输出文件和basic_ofstream流关联起来的构造函数和成员函数。basic_ofstream从basic_ostream继承了在 输出流中写入数据和在输出流中进行移动的成员函数。
可定义如下形式的构造函数
explicit basic_ofstream(const char* filename, ios_base::openmode mode = ios_base::out)
将一个basic_ofstream对象以mode模式打开的文件filename相关联。类型openmode是一个bitmask类型。
ofstream的构造函数 basic_ofstream(const char* filename) 其默认的文件打开模式是输出方式。
在ofstream类中,iso_base::out是指定和默认的打开模式,如果指定了其他打开模式,该模式将与iso_base::out一起应用到这个文件。如果文件不能打开,则设置failbit标志。
1.2 basic_ifstream
basic_ifstream是从basic_istream派生而来的模板类,包含了将输入文件和basic_ifstream流关联起来的构造函数和成员函数。basic_ifstream从basic_istream继承了读取输入流数据及在输入流中进行移动的成员函数。
可定义如下形式的构造函数
explicit basic_ifstream(const char* filename, ios_base::openmode mode = ios_base::in)
ifstream的构造函数 basic_ifstream(const char* filename) 其默认的文件打开模式是输入方式。
在ifstream类中,iso_base::in是指定和默认的打开模式,如果指定了其他打开模式,该模式将与iso_base::in一起应用到这个文件