我不能在文件中间写文字。
我可以正确找到添加文本的位置,我可以使用tellg()/tellp()
进行检查。但是,在seekp()
之后,我添加了新文字:
myfstream << "new text" << endl;
这是附加到文件的末尾。
我在做什么错了?
答案 0 :(得分:1)
正如报告here一样,由于我以附加模式打开文件,因此即使在搜索()之后,每个写操作也会附加。
解决方案是在ios :: in |中打开文件ios :: out模式。
答案 1 :(得分:0)
很抱歉,没有办法用fstream在文件中间写。 您必须将孔文件复制到程序中并编辑文本并将其写回文件。
否则你可以用std :: ostream :: seekp()
覆盖这一行