我正在爲該類製作該程序,並且我們應該將類中的對象存儲在文件中,然後加載它們。但我總是得到存儲的最後一個對象而不是第一個。嘗試seekp功能,但它不起作用。也不應該是一個對象的大小爲38個字節,而不是我得到的48個?從文件中存儲和加載對象
void student::load()
{
fstream fin;
fin.open("StudentData.bin",ios::binary|ios::in);
fin.read((char*)this,sizeof(*this));
}
void student::store(int z)
{
fstream fout;
fout.open("StudentData.bin",ios::binary|ios::out);
//fout.seekp(38*z, fout.beg)
cout<<sizeof(*this);
fout.write((char*)this,sizeof(*this));
}
for(i=0;i<count;i++)
{
s[i].store(i);
}
cout<<"Done!";
student pleb;
pleb.load();
pleb.showstudent();
return 0;
}
我想,每個到'fout.open'調用覆蓋文件 – Petr