我正在开发一个输出文本文件的程序。任何时候我想写入文件,我打开它,seekp()
到文件的末尾,写入它,然后关闭它。但是,似乎每次执行新写入时,它都会替换以前存在于文件中的所有数据。
output.open("output.txt", fstream::out);
output.seekp(0, ios::end);
output << "Record " << key << " does not exist.\r";
output.close();
这是将每个写入追加到文件末尾的正确方法吗?任何可能导致整个文件被重写的想法都将不胜感激。
答案 0 :(得分:3)
添加fstream::app
标记。
output.open("output.txt", fstream::out | fstream::app);
答案 1 :(得分:1)
fstream::out
始终覆盖文件中的数据。要追加,请使用模块fstream::app