Вывод кириллицы через printf - C (СИ)
Формулировка задачи:
Как вывести кириллицу, то есть:
и получать нормальный текст, как это сделать?
printf("Абра кадабра");Решение задачи: «Вывод кириллицы через printf»
textual
Листинг программы
#include<stdio.h>
#include<windows.h>
/*Руссификатор*/
char bufRus[256];
char* Rus(const char*text)
{
CharToOemA(text, bufRus);
return bufRus;
}
void main()
{
printf(Rus("Абра кадабра\n"));
system("pause");
}
Объяснение кода листинга программы
- #include
— подключает файл стандартного ввода/вывода, который содержит функции для работы с консолью - #include
— подключает библиотеку Windows, которая содержит функции для работы с операционной системой Windows - char bufRus[256]; — объявляет массив bufRus для хранения русских символов
- char Rus(const chartext) — объявляет функцию Rus для преобразования текста из кодировки UTF-8 в OEM (кириллица)
- { — начало блока кода функции Rus
- CharToOemA(text, bufRus); — преобразует текст из кодировки UTF-8 в OEM (кириллица) и сохраняет результат в массиве bufRus
- return bufRus; — возвращает указатель на массив bufRus
- void main() — объявляет функцию main, которая является точкой входа в программу
- { — начало блока кода функции main
- printf(Rus(
Абра кадабра\n)); — выводит текстАбра кадабрана консоль с помощью функции printf - system(
pause); — приостанавливает выполнение программы до нажатия клавиши Enter - } — конец блока кода функции main
- } — конец блока кода функции Rus