Широкий символьный вывод

Почему я получаю числа в качестве результата вывода при использовании 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

Решение

Отображаемые «цифры» являются значение персонажа. Вот почему вы получаете «цифры». Если вы хотите отобразить символы, которые вы можете использовать wcout

3

Другие решения

std::cout это basic_iostream<char>, Здесь нет operator<< перегрузка для wchar_t за basic_iostream<char>, Когда вы выводите wchar_t объекты они должны быть преобразованы в некоторый тип, для которого есть operator<< перегрузки. Выбранное преобразование относится к целочисленному типу, кроме char и поэтому вместо представленного символа отображается целое значение.

0

По вопросам рекламы [email protected]