在使用
『
CFile file;
file.Open(_T("rad.cfg",CFile::modeRead|CFile::modeNoTruncate|CFile::modeCreate);
CArchive ar(&file,CArchive::load);
myradio.Serialize(ar);
ar.Close();
』
这样的代码的时候收到了如下的错误信息:
an attempt was made to access an unnamed file past its end.
最终估计后,查明原因,因为文件中还没有内容,所以访问的时候,未拿到结果,所以出错。
但发现串行化还是非常好用的,程序已经能正常的保存当前的信息了。
最后的代码如下:
BOOL CRADDLG::OnInitDialog()
{
CDialog::OnInitDialog();
CFile file;
if(file.Open(_T("//存储卡//rad.cfg"),CFile::modeRead))
{
CArchive ar(&file,CArchive::load);
myradio.Serialize(ar);
ar.Close();
}
}
void CRADDLG::OnClose()
{
// TODO: Add your message handler code here and/or call default
CFile file;
file.Open(_T("//存储卡//rad.cfg"),CFile::modeWrite|CFile::modeNoTruncate|CFile::modeCreate);
CArchive ar1(&file,CArchive::store);
myradio.Serialize(ar1);
ar1.Close();
file.Close();
CDialog::OnClose();
}
『
CFile file;
file.Open(_T("rad.cfg",CFile::modeRead|CFile::modeNoTruncate|CFile::modeCreate);
CArchive ar(&file,CArchive::load);
myradio.Serialize(ar);
ar.Close();
』
这样的代码的时候收到了如下的错误信息:
an attempt was made to access an unnamed file past its end.
最终估计后,查明原因,因为文件中还没有内容,所以访问的时候,未拿到结果,所以出错。
但发现串行化还是非常好用的,程序已经能正常的保存当前的信息了。
最后的代码如下:
BOOL CRADDLG::OnInitDialog()
{
CDialog::OnInitDialog();
CFile file;
if(file.Open(_T("//存储卡//rad.cfg"),CFile::modeRead))
{
CArchive ar(&file,CArchive::load);
myradio.Serialize(ar);
ar.Close();
}
}
void CRADDLG::OnClose()
{
// TODO: Add your message handler code here and/or call default
CFile file;
file.Open(_T("//存储卡//rad.cfg"),CFile::modeWrite|CFile::modeNoTruncate|CFile::modeCreate);
CArchive ar1(&file,CArchive::store);
myradio.Serialize(ar1);
ar1.Close();
file.Close();
CDialog::OnClose();
}