【发布时间】:2012-11-26 17:52:23
【问题描述】:
为什么我在使用 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;
}
【问题讨论】:
-
使用
std::wcout和宽文本。 -
带 wcout
-
我不是 100% 确定规则是什么,但
wchar_t可以被视为整数或其他东西,所以这就是你得到数字的原因 - 因为wchar_t没有operator<<使用std::ostream,因此它转换为整数并改用该重载。 -
在使用宽字符时,请务必使用
L'A'和L"abc"。