我在C ++中的特定位置覆盖文件时遇到问题。我使用ios::app|ios::binary
打开了我的文件。然后我寻求我想覆盖的那个位置。但是我没有覆盖它,而是从文件的末尾追加。有什么建议吗?
答案 0 :(得分:9)
您需要指定ios::in
以及ios::out
。如果您只有ios::out
(ofstream
中的默认值),它会覆盖它。如上所述ios::app
表示数据被写入文件的末尾,这不是您想要的。
答案 1 :(得分:0)
您可以使用ios :: in | ios :: out | ios :: binary打开您的文件。之后,您应该使用seekp()在写入之前寻找文件的所需位置。