Мой вопрос касается ввода / вывода двоичных файлов. Предположим, выполняется следующий код:
#include <iostream>
#inclide <fstream>
int main(){
fstream out;
out.open("binfile.bin",ios::binary|ios::out);
if(!out.good()){
cout<<"ain't good"<<endl;
return EXIT_FAILURE;
}
out.seekp(3);
out<<char(74);
out.seekp(7);
out<<char(73);
out.close();
}
binfile.bin содержит 00 00 00 4A 00 00 00 49
, как и ожидалось. Могу ли я как-то изменить значение по умолчанию, которое помещается в файл, если я не укажу, что выводить? Я хотел бы заменить 00
на что-то вроде 30
, чтобы binfile.bin содержал 30 30 30 4A 30 30 30 49
, это выполнимо? Конечно, я могу просмотреть файл в конце и заменить все 00
с 30
с, но я бы хотел этого избежать.