宽字符输出结果

时间:2012-12-08 21:06:56

标签: c++ wchar

为什么在使用wchar_t时将数字作为输出结果?

#include <iostream>
using namespace std;
int main()
{
    wchar_t q;
    q = 'A';
    cout << q;
    q = 'B';
    cout << q;
    q = 'C';
    cout << q;
    return 0;
}

2 个答案:

答案 0 :(得分:3)

显示的“数字”是字符的。这就是你获得'数字'的原因。如果您想显示字符,可以使用 wcout

答案 1 :(得分:0)

std::coutbasic_iostream<char>operator<<的{​​{1}}没有wchar_t重载。输出basic_iostream<char>个对象时,必须将它们转换为某种类型,其中wchar_t超载。所选转换为除operator<<以外的整数类型,因此显示的是整数值而不是所表示的字符。