SDI工程默认用的是UNICODE编码,然后直接在按打开读取txt文件内容,里面只是一些一些数字和空格和空行这样执行后
if (ar.IsStoring())
{
// TODO: 在此添加存储代码
//保存
}
else
{
// TODO: 在此添加加载代码
//打开
int temp1,temp2,temp3,temp4;
ar >> temp1 >> temp2 >> temp3 >> temp4;
TRACE(TEXT("%d %d %d %d\n"),temp1,temp2,temp3,temp4);
}TRACE的数据竟然是
218762546 840970506 168626701 218762545
明明都是一些不超过10的数字。。为什么会这样?

解决方案 »

  1.   

    刚刚试了一下,发现用fstream能够读取..看来应该是unicode的问题了
      

  2.   

    if (ar.IsStoring())
        {
            // 你是这么存的吗?
            ar << temp1 << temp2 << temp3 << temp4;
        }
        else
        {
            // TODO: 在此添加加载代码
            //打开
            int temp1,temp2,temp3,temp4;
            ar >> temp1 >> temp2 >> temp3 >> temp4;
            TRACE(TEXT("%d %d %d %d\n"),temp1,temp2,temp3,temp4);
        }
      

  3.   

    CArchive读的必须是它序列化的