Когда я делаю
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 байтов, оставляя остальные без изменений.