TCHAR2char、CString2TCHAR*、TCHAR*2CString

TCHAR->char的转换

CString strData = _T("Hello");
int len = WideCharToMultiByte(CP_ACP, 0, strData, -1, NULL, 0, NULL, NULL);
char* szTarget = new char[len + 1];
memset(szTarget, 0, len + 1);
WideCharToMultiByte (CP_ACP, 0,strData, -1, szTarget, len, NULL,NULL);
delete[] szTarget;


CString->TCHAR*的转换可以用函数GetBuff()
函数原型为:LPTSTR GetBuffer(int nMinBufLength);

CString str("CString");
TCHAR* szMsg = new TCHAR[100];
//其参数为CString字符串的长度
szMsg = str.GetBuffer(str.GetLength());
str.ReleaseBuffer();
delete []szMsg;
szMsg = NUL

TCHAR*->CString的转换

TCHAR szTchar[18] = L"TCHAR";
CString str;
str.Format(_T("%s"),szTchar);
原文地址:https://www.cnblogs.com/daocaoren/p/2631480.html