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但不局限于這個方法解決。