c++ char转wchar乱码问题

char *pChar = "0";
    int charLen = strlen(pChar); //计算pChar所指向的字符串大小,以字节为单位,一个汉字占两个字节  
    int len = MultiByteToWideChar(CP_ACP, 0, pChar, charLen, NULL, 0); //计算多字节字符的大小,按字符计算  
    wchar_t *pWChar = new wchar_t[len + 1]; //为宽字节字符数申请空间,  
    MultiByteToWideChar(CP_ACP, 0, pChar, charLen, pWChar, len); //多字节编码转换成宽字节编码
    CString str;
    str.Append(pWChar);

    AfxMessageBox(str);



出现乱码

c++ char转wchar乱码问题_第1张图片

未加结束符‘\0’

pWChar[charLen]='\0';



你可能感兴趣的:(学习过程中遇到的小错误)