天天看点

CString 转const char * 和 CString 转char *

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但不局限于这个方法解决。