一、// 将Unicode 转换为ANSI
LPSTR szDest = W2A(szwSource);
//CString str = L"test string";
//USES_CONVERSION;
//LPSTR szDest = W2A(str);
USES_CONVERSION;
LPWSTR szwDest2 = A2W(pchar);
char *pchar = "test string";
USES_CONVERSION;
LPWSTR szwDest2 = A2W(pchar);
//CString str(szwDest2);
//第一种办法是用W2A宏
wchar_t *szwSource = L"test string";
USES_CONVERSION;LPSTR szDest = W2A(szwSource);
//CString str = L"test string";
//USES_CONVERSION;
//LPSTR szDest = W2A(str);
//2、第二种办法使用WideCharToMultiByte函数
int i = lstrlen(szwSource);
wchar_t *szwSource = L"test string";
char szDest[12];
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,
szwSource,-1,szDest,sizeof(szDest),NULL,NULL);
二、// 将ANSI 转换为 Unicode
//第一种办法
char *pchar = "test string";USES_CONVERSION;
LPWSTR szwDest2 = A2W(pchar);
char *pchar = "test string";
USES_CONVERSION;
LPWSTR szwDest2 = A2W(pchar);
//CString str(szwDest2);
//CString str1 = A2W(pchar);
//第二种方法是利用MultiByteToWideChar函数
char *pchar = "test string";
wchar_t szwDest[12];
long lLen = MultiByteToWideChar(CP_ACP,0,pchar,strlen(pchar),szwDest,sizeof(szwDest));
szwDest[lLen] = '\0';