Значения типа char в C++ способны отображаться только на символы ASCII-таблицы (или другой однобайтовой кодировки). 3 Русский язык в ASCII не входит. 3
Чтобы получить русские символы в типе char, можно использовать восьмибитную кодировку, например Windows-1251. 3 Также можно применить кодировку UTF-8, которая совместима с ASCII и позволяет кодировать символы разных размеров, в том числе русские. 4
Ещё один вариант — использовать тип «широкого символа» wchart вместо char. 4 По стандарту один wchart должен соответствовать одному символу Юникода. 4
Также можно выставить локаль через функцию std::setlocale. 3