如何把CString转到int

怎么把CString转到int
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());