Кириллическая строка не отображается корректно в выводе printf - C (СИ)
Формулировка задачи:
Здравствуйте.
MS VC2005, WinXP
В приведенном коде С введенная кириллическая строка не отображается корректно в выводе printf. При этом кириллица из кода выводится корректно. Можно ли сделать вывод введенной строки корректным?
Заранее благодарю за ответ!
#include <stdio.h> #include <locale.h> char mystr[10]; void main(){ setlocale(LC_CTYPE, "rus"); fgets(mystr,10, stdin); printf("кириллица %s \n",mystr); _getch(); }
Решение задачи: «Кириллическая строка не отображается корректно в выводе printf»
textual
Листинг программы
SetConsoleCP(1251); SetConsoleOutputCP(1251);
Объяснение кода листинга программы
SetConsoleCP(1251);
- Установка кодовой страницы консоли в Windows на 1251, что соответствует кодировке CP-1251, используемой для кириллицы в ASCII.SetConsoleOutputCP(1251);
- Установка кодовой страницы вывода консоли в Windows на 1251. Эти два шага устанавливают кодовую страницу консоли на 1251, что должно позволить корректно выводить кириллические символы при использовании функции printf. Однако, если проблема с отображением кириллических символов все еще существует, возможно, проблема кроется в другом месте.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д