Как вывести не-ASCII текст с помощью std::wcout в Windows XP, если для компиляции используется MinGW w64? Уже посмотрел кучу похожих вопросов, но ничего из этого не работает. _setmode(_fileno(stdout), _O_U16TEXT) возвращает -1, компиляция с -municode не помогает — сообщение печатается до первого не-ASCII символа. (полная команда: i686-w64-mingw32-g++ -mconsole -municode -static). С другой стороны, вот такой код:
int wmain() {
DWORD _;
std::wstring ws = L"кошка\n";
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), ws.c_str(), ws.size(), &_, nullptr);
return 0;
}
выводит сообщение правильно, но мне хотелось бы использовать wcout. Может быть, есть способ?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники