//
// Function:
// 将Ansi字符串转换为Unicode字符串
//
PCWSTR Ansi2Unicode(PCSTR pMultiByteStr)
{
int nLenOfWideCharStr = MultiByteToWideChar(CP_ACP, 0, pMultiByteStr, -1, NULL, 0);
PWSTR pWideCharStr = (PWSTR)malloc(nLenOfWideCharStr * sizeof(wchar_t));
if(pWideCharStr)
{
MultiByteToWideChar(CP_ACP, 0, pMultiByteStr, -1, pWideCharStr, nLenOfWideCharStr);
}
return pWideCharStr;
}
// 调用方法
const char *pMultiByteStr = “中文”;
const wchar_t *pWideCharStr = Ansi2Unicode(pMultiByteStr);
if(pWideCharStr)
{
MessageBox(hWnd, pWideCharStr, TEXT(“Ansi2Unicode”), MB_OK);
free((void *)pWideCharStr);
pWideCharStr = NULL;
}
