На вывод работало с 866, а на ввод с 1251 (SetConsoleCP();). В массив пишет каракули. Функции setlocale(LC_CTYPE, "Russian"); setlocale(LC_ALL, "Russian"); тоже не Отлично работают с ОТОБРАЖЕНИЕМ текста в консоли, но с чтение из ее это ужас. В С++ всегда с этим проблема была, с обработкой вводимой кириллицы с консоли. Это те еще танцы с бубнами. Учитывая еще то, что многие функции писались исключительно под XP а про поддержку в версиях выше речи не было вообще. Есть выходы конечно, но у меня не получилось отобразить кириллицу, считать с консоли, и вывести обратно. Что-то одно всегда не работало.Либо выводило правильно, а записывало каракули, либо каракули выводит а записывает правильно. Если убрать все заморочки с кодировками, то вот код: