vc++.net2008mfc使用ceditview读文件

vc++.net2008使用ceditview读文件,重载void CchartDoc::Serialize(CArchive& ar)将char转化为tchar,因为.net默认是unicode编码,不转化的话会乱码

void CchartDoc::Serialize(CArchive& ar)
{
 // CEditView 包含一个处理所有序列化的编辑控件
 CString str;
 str.Empty();
 char buf[MSG_LEN+1]={0};
 UINT k=0;
 while((k=ar.Read(buf,MSG_LEN))>0){
 DebugMsg(_T("read k=%d"),k);
 str+=fromChar(buf);
 }
 ((CEditView*)(m_viewList.GetHead()))->GetEditCtrl().SetWindowText(str);
 //reinterpret_cast<CEditView*>(m_viewList.GetHead())->SerializeRaw(ar);
}

BOOL CchartDoc::OnSaveDocument(LPCTSTR lpszPathName)
{
 // TODO: 在此添加专用代码和/或调用基类
 CString str1;
 char tmp[MSG_LEN*2+1]={0};
((CEditView*)(m_viewList.GetHead()))->GetEditCtrl().GetWindowText(str1);
CFile file ;
         try
         {   
   // file.Remove(lpszPathName);  
                   file.Open(lpszPathName,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
       CStringToChar(str1,tmp);
    //   CArchive ar(&file,CArchive::store);
//ar<<str1;
//ar.Close();
       file.Write(tmp,strlen(tmp));//
                   file.Close();
       return true;
         }
         catch(CFileException * e)
         {
                   e->m_cause ;
                   return false ;
         }
 //return CDocument::OnSaveDocument(lpszPathName);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值