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);

你可能感兴趣的:(String)