0

我正在开发一个将输出文本文件的程序。每当我想写入文件时,我都会打开它,seekp()直到文件末尾,写入它,然后关闭它。但是,似乎每次执行新的写入时,它都会替换文件中先前存在的所有数据。

output.open("output.txt", fstream::out);
output.seekp(0, ios::end);
output << "Record " << key << " does not exist.\r";
output.close();

这是将每次写入附加到文件末尾的正确方法吗?任何可能导致整个文件被重写的想法将不胜感激。

4

2 回答 2

3

添加fstream::app标志。

output.open("output.txt", fstream::out | fstream::app);
于 2013-03-28T01:45:24.763 回答
1

fstream::out总是覆盖文件中的数据。附加,使用模块fstream::app

于 2013-03-28T01:47:48.063 回答