用下面的方式向自定义文件中写入一个整数:
CFile myFile;
char* pFileName="e:\\test.txt";
if(!myFile.Open(pFileName,CFile::modeReadWrite))
{
AfxMessageBox("文件打开失败!");
}
else
{
AfxMessageBox("文件打开成功!"); //向文件中写入数据
int intTest=1000;
myFile.Write(&intTest,4);
myFile.Close();
}
我的问题是:
     为什么用计算本打开查看,出来的是:?  这是怎么算的?
 

解决方案 »

  1.   

    myFile.Write写入的是开始地址为1000处的内容吧!
      

  2.   

    写入的是int值,而读出的却是ascii码,当然会变成:?啦!
    试试:
    int intTest=1000;
    CString str;
    str.Format(_T("%d"),intTest);
    myFile.Write(str,str.GetLength());
    myFile.Close();
      

  3.   

    没问题呀,
    记事本显示的是字符
    也就是1000转换为16进制03e8H
    在ASCII中表示的字符
    当然没法显示,只能显示?了
      

  4.   

    楼上的说的对
    应该显示的是ASCII字符
      

  5.   

    按flood75(9527)的做法,去试了。