如何把CString转到int
怎么把CString转到int
CString buf("2000");
m_Num = atoi((LPSTR)(LPCTSTR)buf);
结果m_Num为2
为什么不是2000呢
------解决方案--------------------
字符集问题,你的工程设置的是Unicode字符集,但你用ansi字符集的atoi函数来转换,自然就出问题了。
最好这样来写,在什么字符集下都不出错:
------解决方案--------------------
还有 _tcstol, _tcstoul等等函数可以实现.
------解决方案--------------------
CString buf("2000");
m_Num = atoi((LPSTR)(LPCTSTR)buf);
结果m_Num为2
为什么不是2000呢
------解决方案--------------------
字符集问题,你的工程设置的是Unicode字符集,但你用ansi字符集的atoi函数来转换,自然就出问题了。
最好这样来写,在什么字符集下都不出错:
CString buf(_T("2000"));
m_Num = _ttoi(buf);
------解决方案--------------------
还有 _tcstol, _tcstoul等等函数可以实现.
------解决方案--------------------
CString buf("2000");
m_Num = _ttoi(buf.GetBuffer());