答案 0 :(得分:2)
fstream对象用于打开文件以进行输入(即读取文件的内容)和输出(即写入文件)。
还有ifstream和ofstream对象,它们将输入和输出分成两个不同的对象。例如,如果您想要读取未格式化的文件并将格式化的输出写入其他文件,这将非常有用。
答案 1 :(得分:2)
fstream类是一个处理文件输入和输出的对象。它大部分等同于一个ifstream和ostream对象,因为你可以将它用于输入和输出。这个微小的演示将创建一个文件并向其写入数据。
#include <fstream>
using namespace std;
int main()
{
fstream myFile;
myFile.open("data.txt");
myFile << "This will appear in the file.";
myFile.close();
}
fstream对象的优点在于,您可以使用它们来读取和写入二进制内存映像到文件(以保护文件的数据不被编辑),并设置各种标志来控制fstream处理输入和输出的方式。例如:
此fstream是一个输出流,用于清除fout.txt的数据并以二进制形式写入。
fstream foutOne("fout.txt", ios::binary | ios::out | ios::trunc)
此fstream是一个输出流,它不会清除fout.txt的数据,而是附加到它的末尾,并以二进制形式写入。
fstream foutTwo("fout.txt", ios::binary | ios::out | ios::app)
如果我没记错,如果fout.txt不存在,foutTwo会崩溃,而foutOne则不会。您可以(并且应该总是)在打开文件后立即检查fstream是否正确加载:
if(!foutTwo)
{ cout << "File open error!\n"; exit(EXIT_FAILURE); }
答案 2 :(得分:0)
std :: fstream是一个封装对文件的读/写访问的类。它继承自iostream,因此它支持所有C ++流提供的所有常用方法来读取和写入文件。有关更多信息,请参阅its documentation和有关C ++手册IO的章节。