Visual C++中宽字节与多字节字符互相转换的方法

多字节转宽字节

 1 #include<Windows.h>
 2 
 3 wchar_t* MultiCharToWideChar(char* str)
 4 {
 5     auto len = MultiByteToWideChar(CP_ACP, 0, str, strlen(str), NULL, 0);
 6     wchar_t *buffer = new wchar_t[len + 1];
 7     MultiByteToWideChar(CP_ACP, 0, str, strlen(str), buffer, len);
 8     buffer[len] = '';
 9     return buffer;
10 }

宽字节转多字节

 1 #include<Windows.h>
 2 
 3 char* WideCharToMultiChar(TCHAR* str)
 4 {
 5     auto len = WideCharToMultiByte(CP_ACP, 0, str, lstrlen(str), NULL, 0, NULL, NULL);
 6     char *buffer = new char[len + 1];
 7     WideCharToMultiByte(CP_ACP, 0, str, lstrlen(str), buffer, len, NULL, NULL);
 8     buffer[len] = '';
 9     return buffer;
10 }
原文地址:https://www.cnblogs.com/zhaotianff/p/12733569.html