CArchive时遇到的错误

来源:互联网 发布:原味丝袜在淘宝怎么搜 编辑:程序博客网 时间:2024/05/16 06:21
在使用

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();
}
原创粉丝点击