struct MyStruct
{
MyStruct(int l1, int l2) : liczba1(l1), liczba2(l2) {};
int liczba1;
int liczba2;
};
MyStruct obiekt(11,22);
ofstream plikOUT;
plikOUT.open("out.bin", ios::binary | ios::out);
plikOUT.write((const char*)&obiekt, sizeof(MyStruct));
plikOUT.close();
ifstream plikIN;
plikIN.open("out.bin", ios::binary | ios::in);
char* bufor = new char[sizeof(MyStruct)];
plikIN.read((char*)&bufor, sizeof(bufor));
MyStruct* tmp = (MyStruct*)(&bufor);
cout << tmp->liczba1 << tmp->liczba2 << endl;
plikIN.close();
Poprawnie wczytuje mi z pliku tylko pierwszą liczbę. Druga to przypadkowa wartość. Co robię nie tak?