文件输入输出操作全解析
1. 文件流的关闭与重新打开
文件流对象销毁时,文件会自动关闭,但也能手动关闭输入流,方式与关闭输出流相同,示例代码如下:
inFile().close(); // 关闭输入流
调用 close()
后,文件将无法再被读取。若显式关闭文件流,可通过调用 open()
以不同的打开模式重新打开, open()
接受文件名和打开模式两个参数,第二个参数有默认值,示例如下:
outFile.close();
outFile.open(filename); // 重新打开文件,覆盖原内容
outFile.open(filename, std::ios::out|std::ios::app); // 重新打开文件,追加数据
2. 设置流的打开模式
ifstream
或 ofstream
对象的打开模式决定了对文件的操作方式。打开模式由 ios_base
中定义并通过 ios
类继承到流类的 openmode
类型的位掩码值组合而成。 ifstream
和 ofstream
对象的构造函数的第二个参数为 openmode
类型,有默认值