Question

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;
}
Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top