正在重写fstream文件
问题描述:
我正在处理一个将输出文本文件的程序。任何时候我想写入文件,我打开它,seekp()
到文件末尾,写入并关闭它。但是,似乎每次执行新写入时,都会替换文件中以前存在的所有数据。正在重写fstream文件
output.open("output.txt", fstream::out);
output.seekp(0, ios::end);
output << "Record " << key << " does not exist.\r";
output.close();
这是将每个写入追加到文件末尾的正确方法吗?任何想法可能导致整个文件被重写将不胜感激。
答
添加fstream::app
标志。
output.open("output.txt", fstream::out | fstream::app);
答
fstream::out
总是覆盖文件中的数据。追加,使用模块fstream::app
D'oh!我试过'fstream :: ate'无济于事。谢谢你的提示! – raphnguyen 2013-03-28 01:48:56