【求助】Serialize的使用问题,谢谢大家了

didilc 2012-08-10 04:07:47
有这么一段代码如下:

CString s4,s5,s6;

void CNei::OnCount()
{
CFileDialog dlg(true,"","",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "文本文件 (*.txt)|*.txt", this);
dlg.m_ofn.lpstrTitle="打开文件";
CFile datafile;
if(dlg.DoModal()==IDOK)
{
datafile.Open(dlg.GetPathName(),CFile::modeRead);
CArchive ar(&datafile,CArchive::load);
Serialize(ar);
ar.Close();
datafile.Close ();
}
}

void CNei::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
ar.ReadString(s4);
ar.ReadString(s5);
ar.ReadString(s6);

}
}

注:以上在VC6.0下测试正常,s4,s5,s6均有值(三行数据分别存储到s4,s5,s6中),但是在VS2010/VS2012下,S4值时乱码(感觉所有制都存在这里,里面有三行数据),s5和s6没有数据,不知道为什么?


打开的txt文件数据如下:
3
1.2 1.0 1.5
-311.93

在VS2010/VS2012下如何才能正常把数据分别存储到s4,s5,s6中呢?谢谢了
...全文
77 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2012-08-17
  • 打赏
  • 举报
回复
VC6.0下和VS下编程就是有可能会遇到编码问题
Gloveing 2012-08-17
  • 打赏
  • 举报
回复
VC6.0下和VS下编程就是有可能会遇到编码问题
didilc 2012-08-13
  • 打赏
  • 举报
回复
谢谢你啦,用另外一种方法解决了,还是用字符集unicode。
  • 打赏
  • 举报
回复
把你的字符集从unicode改为多字节字符集MBCS

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧