Вывести в консоль текст заданного цвета - 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);

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

  1. HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); - Получение дескриптора стандартного вывода в консоль.
  2. CONSOLE_SCREEN_BUFFER_INFO csbi; - Объявление структуры CONSOLE_SCREEN_BUFFER_INFO для хранения информации о буфере консоли.
  3. GetConsoleScreenBufferInfo (hstdout, & csbi); - Получение информации о буфере консоли.
  4. SetConsoleTextAttribute(hstdout,0x0F); - Установка цвета текста на белый (0x0F в шестнадцатеричной системе соответствует 15 в десятичной системе, что является суммой кодов цветов красного, зеленого и синего, которые в сумме дают белый цвет).
  5. cout<<Тест \n; - Вывод текста Тест с установленным цветом.
  6. SetConsoleTextAttribute(hstdout, csbi.wAttributes); - Восстановление исходного цвета текста.

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


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

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

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