如下: char str1[]="hello";
cout<<str1<<endl;
输出:hello
WCHAR str2[]=L"hello,world";
cout<<str2<<endl;
输出:0012FF14为什么第二个输出的只是地址,不是后面的字符串

解决方案 »

  1.   

    当作个整数输出了
    WCHAR 就是个整数类型
      

  2.   

    wchar_t用wcout输出,要是中文的话还得调用 setlocale 函数
      

  3.   

    可以把wchar_t转为char,通过WideCharToMultiByte()来实现
      

  4.   

    WCHAR是MS定义的,你要include<Windows.h>才行.输出数字是因为cout的<<方法并没有解码功能,它不知道怎么解码,只能输出数字数字不同是因为用L处理的是Unicode,不用L的是ASCII.
      

  5.   

    楼主可以改成这样字。就可以输出正常了。
    WCHAR str2[]=L"hello,world";
    wcout <<str2<<endl;wcout 是unicode版,输出字符按unicobe取。
    你用cout输出,工程配置修改为 multi模式。