Символы ASCII, не напечатанные в WCOUT и COUT

Я пытаюсь напечатать некоторые «специальные» символы (выше 127) в консоли, но почему-то это не печатается.

У меня есть небольшой фрагмент кода:

#include <iostream>
int main()
{
std::wcout << L"a■■■■■■■■■■■a■■■■■■■■■■■■■■a" << std::flush;
return 0;
}

он печатает «а», но потом … ничего. и не имеет значения, использую ли я cout / string или wcout / wstring. (с cout я вижу только «?», а в wcout ничего, поток заканчивается)

Код ascii для этого символа — 254. Что здесь может происходить? Я думал, что это нормально для печати?

3

Решение

Из ответа, на который я ссылаюсь в комментариях, я думаю, что это ваше решение:

#include <fcntl.h>
#include <io.h>

_setmode(_fileno(stdout), _O_U8TEXT);
3

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

Других решений пока нет …

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