备注:
多字节:
CString转Char* 用 sprintf
CString strID;
int n = strID.GetLength();
char * pFileName = new char[n+1];
sprintf(pFileName,"%s",strID);
pFileName[n]='\0';
Unicode:
CString strID;
m_edtId.GetWindowTextA(strID);
int n = strID.GetLength(); // n = 14, len = 18
int len = WideCharToMultiByte(CP_ACP,0,strID,n,NULL,0,NULL,NULL);
char * pFileName = new char[len+1];
WideCharToMultiByte(CP_OEMCP,0,strID,n,pFileName,len,NULL,NULL);
pFileName[len] =0 ; //多字节字符以0结束
char[]转CString 用CString::Format
char writeData[100];
CString strTxt;//(pBuffer);
strTxt.Format(_T("%s"),recData);
Unicode:
//格式转换
int nBufferSize=MultiByteToWideChar(CP_ACP,0,recData, -1, NULL, 0);
wchar_t *pBuffer=(wchar_t *)malloc(nBufferSize * sizeof(wchar_t));
MultiByteToWideChar(CP_OEMCP, 0, recData, -1 , pBuffer, nBufferSize*sizeof(wchar_t));
CString strTxt(pBuffer);