Вывести в консоль текст заданного цвета - C (СИ)
Формулировка задачи:
Подскажите пожалуйста как можно реализовать цвет определенного участка текста в консольном си.
Например
cout<<"тест 1"; // обычный cout<<"тест 2"; // красный
Решение задачи: «Вывести в консоль текст заданного цвета»
textual
Листинг программы
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo (hstdout, & csbi); SetConsoleTextAttribute(hstdout,0x0F); // цветгде 0 это цвет закраски, а F сам цвет текста cout<<"Тест \n"; SetConsoleTextAttribute(hstdout, csbi.wAttributes);
Объяснение кода листинга программы
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
- Получение дескриптора стандартного вывода в консоль.CONSOLE_SCREEN_BUFFER_INFO csbi;
- Объявление структурыCONSOLE_SCREEN_BUFFER_INFO
для хранения информации о буфере консоли.GetConsoleScreenBufferInfo (hstdout, & csbi);
- Получение информации о буфере консоли.SetConsoleTextAttribute(hstdout,0x0F);
- Установка цвета текста на белый (0x0F в шестнадцатеричной системе соответствует 15 в десятичной системе, что является суммой кодов цветов красного, зеленого и синего, которые в сумме дают белый цвет).cout<<
Тест \n;
- Вывод текстаТест
с установленным цветом.SetConsoleTextAttribute(hstdout, csbi.wAttributes);
- Восстановление исходного цвета текста.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д