构建文件流对象
文件流不像标准I/O流预定义了输入/输出流对象,所以在使用文件流时需要调用相应类的构造函数来构建流对象。构造文件输入/输出流的常用方法有如下两种。
(1)调用默认构造函数
ifstream ifs; //定义一个文件输入流对象
ofstream ofs; //定义一个文件输出流对象
fstream fs; //定义一个文件输入输出流对象
(2)调用构造函数时指定文件名
ifstream ifs("filename"); //指定文件名
ofstream ofs("filename");
fstream fs("filename");
在使用文件流对象进行输入输出时,同样可以使用插入运算符“<<”和提取运算符“>>”,因为这两个运算符是所有标准C++数据类型预先设计好的,用于在输入输出流对象中传送数据。在文件流中同样可以使用这两个运算符实现数据的传输。代码如下所示:
ifstream ifs; //构建一个输入流对象
……
char ch;
ifs >> ch; //将文件流的数据存储到ch变量中
提取运算符“>>”是用于格式化文本输入的,在提取数据时,以空白符为分隔,如果要输入一段包含空白符的文本,用提取运算符就很不方便,在这种情况下,可以选择使用非格式化成员输出函数getline(),这样就可以读取一段包含有空格的文本块,然后再对其进行分析。