我无法在文件中写入文本。 我可以正确找到添加文本的地方,我可以用tellg()/tellp()
来查看。但是,当一个seekp()
后,我添加了新的内容:fstream:无法在文件中间写入
myfstream << "new text" << endl;
这是附加到文件的末尾。
我在做什么错?
我无法在文件中写入文本。 我可以正确找到添加文本的地方,我可以用tellg()/tellp()
来查看。但是,当一个seekp()
后,我添加了新的内容:fstream:无法在文件中间写入
myfstream << "new text" << endl;
这是附加到文件的末尾。
我在做什么错?
据报道here,因为我打开追加模式的文件,那么每一个写操作将追加,甚至seekp后() 。
解决方案是在ios :: in |中打开文件。 ios :: out模式。
对不起,没有办法写在fstream文件的中间。 您必须将孔文件复制到您的程序中并编辑您的文本并将其写回到文件中。
否则,你可能会覆盖在符合的std :: ostream的:: seekp()
您不能在文件的中间插入,只能覆盖。文本被追加是很奇怪的,但不可能说明为什么会发生这种情况,除非您发布代码。 – molbdnilo
@molbdnilo:我不想插入,只是从某个点开始覆盖。 – Pietro