1、字符串转换为整型
函数atoi()可以完成
VS2008默认的编码方式是Unicode,Unicode下不能用atoi,而要使用_wtoi
也可以直接使用_ttoi,它在 ANSI 编码系统中被编译成atoi(),而在 Unicode 编码系统中编译成_wtoi()。
例如:
CString str = _T("134258");
int a = _ttoi(str);
2、强制将CString转换为LPTSTR
CString str("Test");
LPTSTR pStr = (LPTSTR)(LPCTSTR)str;
然而,LPCTSTR是const char *,也就是说,得到的字符串是不可写的!将其强制转换成LPTSTR去掉const,是极为危险的!
一不留神就会完蛋!要得到char *,应该用GetBuffer()或GetBufferSetLength(),用完后再调用ReleaseBuffer()。
建议方法:
CString str("Test"); LPCTSTR pStr = str.GetBuffer(0); // 直接访问CString的缓冲区 char* psz = NULL; strcpy(psz , "Hello"); str.ReleaseBuffer();