实现函数
/*
* 多字转宽字 char to wchar_t
*/
wchar_t* char2wchar(const char* cchar)
{
wchar_t* m_wchar;//定义宽字指针
//取多字长度
int len = MultiByteToWideChar(
CP_ACP, //代码面
0, //标志
cchar, //多字字符串
strlen(cchar),//多字字符串长度
NULL,//宽字字符串
0);//宽字字符串长度
m_wchar = new wchar_t[len + 1];//为宽字指针分配内存
MultiByteToWideChar(CP_ACP, 0, cchar, strlen(cchar), m_wchar, len);//复制多字到宽字
m_wchar[len] = '\0';//字符串结尾
return m_wchar;//返回指针
}
/*
* 宽字转多字 wchar_t to char
*/
char* wchar2char(const wchar_t* wchar)
{
char* m_char;//定义多字指针
int len = WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), NULL, 0, NULL, NULL);//取宽字长度
m_char = new char[len + 1];//为多字指针分配内存
WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), m_char, len, NULL, NULL);//复制宽字到多字
m_char[len] = '\0';//字符串结尾
return m_char;//返回多字
}
使用: