Archive for 10 12 月, 2010

Ansi2Unicode Unicode2Ansi

星期五, 10 12 月, 2010

//
// 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;
   }

(更多…)