Я использую fstream для записи целого числа в двоичный файл.Проблемы с написанием целого числа в двоичном файле C++
int main(){
fstream f1;
int num = 2, num2 = 0;
f1.open("dat1", ios::app | ios::out | ios::in | ios::binary);
f1.write((char *)num, sizeof(int));
f1.seekp(0);
f1.read((char *)num2, sizeof(int));
cout << num2;
}
Проблема заключается в строке f1.write. Я могу писать в двоичный файл массива, но когда я пытаюсь написать только один блок ИНТ дает мне ошибку:
Необработанное исключение в 0x522C7EA6 (msvcp120d.dll) в Project.exe: 0xC0000005: чтение нарушение прав доступа местоположение 0x00000002.
Я не понимаю, в чем проблема.
Также необходимо учитывать байт, чтобы использовать файл независимо от платформы, если это необходимо. – frast