fstream:无法在文件中间写入

时间:2016-09-16 07:15:07

标签: c++ insert fstream

我不能在文件中间写文字。 我可以正确找到添加文本的位置,我可以使用tellg()/tellp()进行检查。但是,在seekp()之后,我添加了新文字:

myfstream << "new text" << endl;

这是附加到文件的末尾。

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

正如报告here一样,由于我以附加模式打开文件,因此即使在搜索()之后,每个写操作也会附加。

解决方案是在ios :: in |中打开文件ios :: out模式。

答案 1 :(得分:0)

很抱歉,没有办法用fstream在文件中间写。 您必须将孔文件复制到程序中并编辑文本并将其写回文件。

否则你可以用std :: ostream :: seekp()

覆盖这一行