【发布时间】:2009-04-27 01:58:36
【问题描述】:
当我这样做时
fstream someFile("something.dat", ios::binary|ios::out);
someFile.seekp(someLocation, ios::beg);
someFile.write(someData, 100);
似乎用这 100 个字节替换整个文件,而不是只替换适当的 100 个字节,就好像我指定了 ios::trunc。有没有一种不截断文件的便携方法?
编辑: 添加 ios::in 似乎可以解决问题,为什么这是必需的,这是标准行为吗?
编辑#2:我不想追加到现有文件。我需要替换 100 个字节,而其余部分不受影响。
【问题讨论】: