多字节和宽字节互相转换
Posted 漂泊的浮萍
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多字节和宽字节互相转换相关的知识,希望对你有一定的参考价值。
1 char* wchar2char(const wchar_t* _wsrc, char* _dest, size_t _destLen) 2 { 3 int iTextLen = WideCharToMultiByte(CP_ACP, 4 0, 5 _wsrc, 6 -1, 7 NULL, 8 0, 9 NULL, 10 NULL); 11 12 int maxLen = (size_t)iTextLen > _destLen ? _destLen : iTextLen; 13 14 ::WideCharToMultiByte(CP_ACP, 15 0, 16 _wsrc, 17 -1, 18 _dest, 19 maxLen, 20 NULL, 21 NULL); 22 23 return _dest; 24 } 25 26 wchar_t* char2wchar(const char* _src, wchar_t* _dest, size_t _destLen) 27 { 28 int unicodeLen = ::MultiByteToWideChar(CP_ACP, 29 0, 30 _src, 31 -1, 32 NULL, 33 NULL); 34 35 int maxLen = (size_t)unicodeLen > _destLen ? _destLen : unicodeLen; 36 37 ::MultiByteToWideChar(CP_ACP, 38 0, 39 _src, 40 -1, 41 (LPWSTR)_dest, 42 maxLen); 43 44 return _dest; 45 46 }
以上是关于多字节和宽字节互相转换的主要内容,如果未能解决你的问题,请参考以下文章