CArchive时遇到的错误

在使用

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();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值