忘了是在哪个网页上找到的,不好意思。自己备用。
int AnsiString2UnicodeString(const char* pszAnsiStr, wchar_t* pszUniStr)
{
if (!pszAnsiStr || !pszUniStr)
{
return 0;
}
int len = MultiByteToWideChar(CP_ACP, 0, pszAnsiStr, -1, NULL, 0);
wchar_t* wzBuf = (wchar_t*)calloc(len, sizeof(wchar_t));
len = MultiByteToWideChar(CP_ACP, 0, pszAnsiStr, -1, wzBuf, len);
wcscpy(pszUniStr, wzBuf);
free(wzBuf);
return len;
}
int UnicodeString2AnsiString(const wchar_t* pszUniStr, char* pszAnsiStr)
{
if (!pszUniStr || !pszAnsiStr)
{
return 0;
}
int len = WideCharToMultiByte(CP_ACP, 0, pszUniStr, -1, NULL, 0, NULL, NULL);
char* szBuf = (char*)calloc(len, sizeof(char));
len = WideCharToMultiByte(CP_ACP, 0, pszUniStr, -1, szBuf, len, NULL, NULL);
strcpy(pszAnsiStr, szBuf);
free(szBuf);
return len;
}