wchar_t p = '中';
wprintf(L"%c\n",p);
上面两行简单的代码就是不能输出 "中", 不知道为什么, 很是纳闷, 高手帮忙解答一下!

解决方案 »

  1.   

    wchar_t p = L'中';
    wprintf(L"%c\n",p);哈,这么长时间了
      

  2.   

    %c我想,应该针对的是单个字节,byte类型,而不是针对字符.
    我估计,在wprintf的实现中,遇到%c仅仅把参数转换为了char类型进行输出
    wchar_t 在tc和vc中都被typedef unsigned short wchar_t了,在实际中,应该是仅仅输出了wchar_t高8位表示的 ansi自付了。
    以上是我猜的,不能保证就正确