Windows下char和wchar_t转换的方法

来源:互联网 发布:linux snmp协议配置 编辑:程序博客网 时间:2024/05/22 17:37

//char* -> wchar_t*wchar_t* charToWchar(char* str) {int len = mbstowcs(NULL, str, strlen(str));wchar_t *wstr = (wchar_t*)malloc(sizeof(wchar_t)*(len + 1));mbstowcs(wstr, str, strlen(str));return wstr;}//wchar_t* -> char*char* wcharToChar(wchar_t *wstr) {int len = wcstombs(NULL, wstr, wcslen(wstr));char* str = (char*)malloc(sizeof(char)*(len + 1));wcstombs(str, wstr, wcslen(wstr));return str;}

用MultiByteToWideChar转换,发现char*字符串中的中文会被忽略,用mbstowcs进行转换之后不存在这样的问题。


0 0
原创粉丝点击