Кириллическая строка не отображается корректно в выводе 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. Однако, если проблема с отображением кириллических символов все еще существует, возможно, проблема кроется в другом месте.