Разница между функциями SetConsoleCP и SetConsoleOutputCP заключается в том, что первая устанавливает кодировку для ввода, а вторая — для вывода. 23
SetConsoleCP используется для установки нужной таблицы на ввод (заменяет функцию setlocale). 4 SetConsoleOutputCP работает непосредственно с выводом. 4
Эти функции позволяют настроить кодировку консоли для работы с кириллицей, так как стандартные функции ввода/вывода C++ используют кодировку ASCII, которая не поддерживает кириллические символы. 1