在编写Console程序时不能够显示汉字“你好”,而是显示的数字(usigned short)
#include <iostream.h>
#include <WCHAR.H>main()
{
    wchar_t szTest[] = L"你好";
    cout << szText << endl;
    return 0;
}但是用API+C中调用函数TextOut时中就能显示汉字
 TextOut(hdc, xClient/2, xClienty/2, TEXT("你好"), sizeof(TEXT("你好")/sizeof(TCHAR)-1);是怎么显示的呢?

解决方案 »

  1.   

    试试
     printf("%s",(char*)szTest);
      

  2.   

    在main()函数中,szTest[] 是字符,如果则会显示它所占的内存位置;
    你可以这样写:
    cout<<"你好";
      

  3.   

    我怀疑是不是console不能支持Unicode,因为console是运行在DOS虚拟机中的,是16位的,但是我不确定,希望大家讨论!
    贴主把unicode转化为Ansi字符串,应该就可以正常显示了.
      

  4.   

    只要cout<<"你好";就可以了
      

  5.   

    #include <iostream.h>main()
    {
        char szTest[] = "你好";
        cout << szTest << endl;
        return 0;
    }
    奇怪,这样就能够显示汉字“你好”了。
      

  6.   

    CString szTest;
    szTest="你好";
    CDC* pDC;
    pDC->TextOut(0,0,szTest);很容易得可以显示出来。cout<<"你好"<<endl;
    直接这样也可以显示呀!