Как выводить кириллицу в программе на Си?

Добрый день. При попытке вывести кириллицу появляются иероглифы. Пробовал использовать Setlocale, но ничего не меняется. Использую MinGW, Windows 10.
b35c5e1aa3994393b497a0cb194da316.PNG
  • Вопрос задан
  • 4958 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Когда пишите консольную программу для винды нужно учитывать:
1.В какой кодировке в самом тексте программы ваши русские строки.
2.Кодировка консоли может меняться. По умолчанию в виндовой консоли 866 кодировка, можно переключить на 1251.
3.Консольное API и stdlib языка Си ничего автоматически не перекодирует.
4.Компилятор ничего не перекодирует, ему вообще пофигу что у вас там в кавычках.
5.Если выводите без перекодировки, то нормальный результат можно получить только если кодировка консоли совпадает с кодировкой ваших русских символов в исходнике.

Что бы не зависеть от кодировки консоли можно:
1.не выводить русские буквы
2.Заморочится с перекодированием в кодировку консоли перед выводом. Это довольно легко, всего то пол суток чтения MSDN и тестов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kpa6uu
@kpa6uu
Программист Талибана [Пыхерский Алибаба]
SetConsoleOutputCP
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы