我把一些数据先放在一个CString中,CString里面存的是个整数(假如是1),然后用Write()函数保存到一个文件中。再从文件中用CString类型读取的时候,发现里面存的值是 “1”,然后再点开仔细看是 49‘1’,这是为什么?

解决方案 »

  1.   


    CString str = "123";
    // 转换为char指针
     char *p = str.GetBuffer(str.GetLength());
    // 转换为int变量
     int i = atoi(p);
     cout << i << endl;
    // 转换为float变量
     str = "123.32";
     float f = atof(str.GetBuffer(str.GetLength()));
     cout << f << endl;
      

  2.   

    楼主解决了,可以结贴了~~DWORD abc = 123;
    CString str;
    str.Format(L"%d", abc);
      

  3.   

    CString里面存的是个整数(假如是1),整数是为可见字符,根据ANSI码表中,整形的值是为0x30到0x39,换成十进制也就是所说的49到57,正是因为为此,整数为1的话显示的是49'1'而且不是0x01