读书人

关于强制转换的有关问题

发布时间: 2012-05-09 12:13:59 作者: rapoo

关于强制转换的问题
我把一个CString的值用atoi转为int
为什么会缺失精度呢?
CString tem = L"231";
char* s =(LPSTR)(LPCTSTR)tem.GetBuffer();
DirectoryLevel = atoi(s);

调试的时候显示s的值就是2了,为什么??

[解决办法]
你可以直接用
CString tem = L"231";
DirectoryLevel = _wtoi(tem);
还不让我编译上一条啊,呵呵!
[解决办法]
字符集的问题,你使用的是宽字符,而atoi要求的是char

C/C++ code
CString tem = L"231";DirectoryLevel = _wtoi(tem); 

读书人网 >C++

热点推荐