关于强制转换的问题
我把一个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);