使用<fstream>
库打开并向现有文件test.rtf
添加流时,我使用以下行:
char data[100];
// open a file in write mode.
ofstream outfile;
outfile.open("test.rtf");
if (outfile.is_open()) { cout << "file is open" << endl; }
cout << "Writing to the file" << endl;
cout << "Enter your name: ";
cin.getline(data, 100);
// write inputted data into the file.
outfile << data << endl;
使用ifstream读取时,输入的行正确显示。问题是输出文件未被修改,我添加的行未保存。这个问题可能听起来很愚蠢,但这是一个我无法解决的问题。
答案 0 :(得分:3)
当你&lt;&lt;在你的文件中,你只是写入一个缓冲区,而不是实际上#34;刷新&#34;它到文件本身。如果你只是关闭你的文件你应该没事。
所以:
outfile.close()
此外,您可以在想要写入文件但不关闭文件时刷新(实际上从缓冲区写入文件)。 .close()刷新然后自动关闭。