CString类型(汉字)转换为wchar_t类型时显示的为乱码

如题,从编辑框中提取汉字,取出为CString类型的,将此变量转换为wchar____t类型的变量,显示出来为乱码,但是当输入的为英文字母时,显示的就是正确的,不知道问题出现在哪里,求大神指点

部分程序:
图片说明

最简单的将你的工程设置为Unicode编码的。

    _tsetlocale(LC_ALL, _T("chs")); //加上这句,没加的话可能乱码

    USES_CONVERSION;
    WCHAR wStr[] = L"王小二";
    wprintf(L"UNICODE Str = %s\n", wStr);
    printf("W2A Convert = %s\n", W2A(wStr));
    _tprintf(_T("W2T Convert = %s\n"), W2T(wStr));

    CHAR aStr[] = "李大麻";
    printf("MBCS Str = %s\n", aStr);
    wprintf(L"A2W Convert = %s\n", A2W(aStr));
    _tprintf(_T("A2T Convert = %s\n"), A2T(aStr));

    _tsystem(_T("PAUSE"));

nText是字符,设置成数组或指针都可,指针的话先分配内存

问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了

问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了