宽字符输出结果

Wide character output result

本文关键字:结果 输出 字符      更新时间:2023-10-16

为什么使用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;
}

显示的"数字"是字符的值。这就是你得到"数字"的原因。如果要显示字符,可以使用 wcout

std::cout是一个basic_iostream<char>。对于basic_iostream<char> wchar_t没有operator<<过载.输出wchar_t对象时,必须将它们转换为存在operator<<重载的某种类型。所选转换是 char 以外的整数类型,因此显示整数值而不是表示的字符。