gpt4 book ai didi

c++ - 使用C++覆盖文件中的文本

转载 作者:行者123 更新时间:2023-11-30 03:01:07 24 4
gpt4 key购买 nike

我对以下代码有疑问:

     fstream s("tst.txt" , fstream::binary);
s.seekp(5, fstream::beg);
s.write("testing", 7);

它应该保持文件中的前五个字符不变,但事实并非如此!它丢弃了整个旧数据,我必须保留旧数据并只覆盖一个文件数据 block ,它应该是二进制模式有人帮忙吗?提前致谢。

最佳答案

试试这个:

fstream s("tst.txt" , fstream::binary | fstream::in | fstream::out);
s.seekp(5, std::fstream::beg);
s.write("testing", 7);

通过指定一个开放模式标志,您将覆盖 fstream 构造函数调用中的默认开放模式。

关于c++ - 使用C++覆盖文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com