如何在 VC++ 中将 CString
转换为 long。我用过 atol 但它抛出错误。
long ldata = atol(str);
没有从 CString
到 const char*
的合适转换。
最佳答案
如前所述,您使用的是 Unicode。您必须使用 Unicode 来实现其他功能:
long ldata = _wtol(str);
里面某处CString
声明是这样的:
#ifdef UNICODE
#define CString CStringW
#else
#define CString CStringA
#endif
当项目编译为 Unicode 时,CString
变成宽字符 CStringW
, 所以你必须使用 atol
的宽字符版本这是_wtol
对于所有其他字符串函数也是如此。
关于c++ - 如何将 CString 转换为 long? VC++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30747363/