Можно ли перегрузить wcout & lt; & lt; оператор заменить его на WriteConsoleW?

Дело в том, что скомпилированная MinGW программа имеет проблемы с печатью не-ascii символов на консоли через wcout, вывод может отображать символы из другой кодовой страницы или быть полностью пустым. Но винапи WriteConsoleW работает отлично. Поэтому я спрашиваю, есть ли возможность изменить поведение << оператор, так что он всегда вызывает метод winapi.

(Я не нашел примеров того, как это сделать, и я новичок в c ++, есть много примеров, как перегрузить объект, но не как сделать это со строкой или широким массивом символов.)

0

Решение

Вы можете создать подходящий потоковый буфер для отправки символов туда, куда вам нужно их отправить. Ты можешь использовать rdbuf() установить буфер потока, используемый std::wcout, Я не думаю, что я привел пример использования wchar_t как тип персонажа в прошлом, но это будет работать так же, как множество примеров для char,

2

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

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

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