Кириллическая строка не отображается корректно в выводе 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);

Объяснение кода листинга программы

  1. SetConsoleCP(1251); - Установка кодовой страницы консоли в Windows на 1251, что соответствует кодировке CP-1251, используемой для кириллицы в ASCII.
  2. SetConsoleOutputCP(1251); - Установка кодовой страницы вывода консоли в Windows на 1251. Эти два шага устанавливают кодовую страницу консоли на 1251, что должно позволить корректно выводить кириллические символы при использовании функции printf. Однако, если проблема с отображением кириллических символов все еще существует, возможно, проблема кроется в другом месте.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы