16,472
社区成员
发帖
与我相关
我的任务
分享
void GbkToUtf8(CHAR* GbkStr, CHAR* Utf8Str)
{
INT cchWideChar = 0;
LPWSTR lpWideCharStr = NULL;
INT cbMultiByteStr = 0;
cchWideChar = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, GbkStr, -1, lpWideCharStr, 0);
lpWideCharStr = new WCHAR[cchWideChar];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, GbkStr, -1, lpWideCharStr, cchWideChar);
cbMultiByteStr = WideCharToMultiByte(CP_UTF8, 0, lpWideCharStr, -1, Utf8Str, 0, 0, FALSE);
WideCharToMultiByte(CP_UTF8, 0, lpWideCharStr, -1, Utf8Str, cbMultiByteStr, 0, 0);
delete [] lpWideCharStr;
}
CHAR utf8[256] = {0};
GbkToUtf8("中国", utf8);