Zun*_*Tzu 14
使用std :: fstream.
更简单的std :: ofstream不起作用.它会截断你的文件(除非你使用选项std :: ios_base :: app,这不是你想要的).
std::fstream s(my_file_path); // use option std::ios_base::binary if necessary
s.seekp(position_of_data_to_overwrite, std::ios_base::beg);
s.write(my_data, size_of_data_to_overwrite);
Run Code Online (Sandbox Code Playgroud)
如果替换字符串的长度相同,则可以进行更改.如果替换字符串较短,您可以用零宽度的空间或类似垫它,使其在相同的字节数,并在适当位置的变化.如果替换字符串较长,除非您先移动所有剩余数据,否则没有足够的空间.