Why do I get numbers as output result when using 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;
}
有帮助吗?

解决方案

The displayed 'numbers' are the value of the character. That's the reason you get 'numbers'. If you want to display the characters you can use wcout

其他提示

std::cout is a basic_iostream<char>. There is no operator<< overload for wchar_t for basic_iostream<char>. When you output wchar_t objects they must be converted to some type for which there is an operator<< overload. The selected conversion is to an integral type other than char and so the integral value is shown instead of the represented character.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top