Date: 23.04.2017 16:45:49
Детский вопрос, а Юникодом то пользоваться не пробовали?
wprintf(L"Тест");
Date: 24.04.2017 11:45:30
Ваш код в '15 работал чудом. Функция OemToAnsi считалась устаревшей, наверное, уже в Windows 95. Вы метод с Юникодом (в котором количество кода, между прочем, меньше чем у вас) попробовали?
Для справки, printf и cout >> абсолютно эквивалентны.
Edit: а, не заметил, что пост с OemToAnsi(s, s); не ваш. Тогда в чем ваша проблема, просто вывести текст? Замените везде printf на wprintf, добавьте L к строкам, и все. Использование unicode дает множество преимуществ.
Date: 24.04.2017 13:16:10
Ах да, забыл. Чтобы wprintf взлетело, надо в начало программы вставить setlocale(LC_ALL,"Russian");
"Например какие преимущества у юникода?" - то что можно представить все символы мира в одной кодировке, и не заморачиваться с текущей кодовой страницей ОС
Автор: VadimTagil