我用一个BYTE数组存放汉字,在调用WINAPI的时候需要转换到WCHAR,比如一个汉字"交"在BYTE byBuffer[]中存放是 byBuffer[0]= 0xBD byBuffer[1] = 0xBB 但在wchar wBuffer[]中是 wBuffer[0] = 0x4EA4 ,试过是memcpy的话肯定不行,我应该怎么做呢 另外字符是按什么方式存放到两个数组中的呢?

解决方案 »

  1.   

    wchar wbuffer[] = L"交";
      

  2.   

    或者使用MultiByteToWideChar,如果是常量,那么使用L宏很方便。
      

  3.   

    不过什么字符都可以通过MultiByteToWideChar从多字节转到Unicode
    当然也可以通过WideCharToMultiByte从Unicode转到多字节
      

  4.   

    同意,MultiByteToWideChar(CP_ACP, ...);
      

  5.   

    用mbtowc, mbstowcs都不行 最后还是用MultiByteToWideChar解决了 谢谢各位