Próbowałem zachować zawartość pliku i spojrzałem do specyfikacji, gdzie widnieje, że tunc odpowiada za kasowanie pliku (przycięcie do 0). Samo out powoduje u mnie ten sam skutek, co trunc.
Dopiero to:
ios::trunc|ios::in|ios::out
Zachowało treść pliku.
Czy dla ios::out domyślnie jest ustawione ios::trunc?
Da się jakoś zastępować tekst w pliku nie powodując jego 'rozszerzania'? Tak, jak tu:
plik << "ASDFG";
plik.seekp(2);
plik<<"d";
Plik wyjściowy zawiera: ASdFG