CString是定长的,是常量;
一、CString 转const char *方法:
CString str = _T("XXXXX");
const char * strTest = (LPCSTR)(LPCTSTR)str;
理解:CString是永远都可以转成LPCTSTR的;(不管是工程是UNICODE还是多字节编码)
LPCTSTR是永远都可以转成LPCSTR的;(不管是工程是UNICODE还是多字节编码)
上面这种转法能够适应工程是UNICODE和多字节的情况。
二、CString 转char *方法:
CString str = _T("XXXXX");
char * strTest = (LPSTR)(LPTSTR)str;
注意:CString 和TCHAR *不是一码事,CString是定长的,TCHAR *是不定长的;
所以TCAHR *转char *就没上面二那么简单,而是需要WideCharToMultiByte但不局限于这个方法解决。