试图用c ++来操作文件

时间:2015-03-04 22:45:51

标签: c++ file stream

使用<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读取时,输入的行正确显示。问题是输出文件未被修改,我添加的行未保存。这个问题可能听起来很愚蠢,但这是一个我无法解决的问题。

1 个答案:

答案 0 :(得分:3)

当你&lt;&lt;在你的文件中,你只是写入一个缓冲区,而不是实际上#34;刷新&#34;它到文件本身。如果你只是关闭你的文件你应该没事。

所以:

outfile.close()

此外,您可以在想要写入文件但不关闭文件时刷新(实际上从缓冲区写入文件)。 .close()刷新然后自动关闭。