Механизм отображения текста и фона в консоли работает с помощью буферов экрана, которые содержат двумерный массив записей с данными о символах. 1
Каждая символьная ячейка буфера экрана хранит атрибуты цвета для цветов, используемых при отрисовке переднего плана (текста) и фона такой ячейки. 1 Приложение может задавать данные о цвете отдельно для каждой символьной ячейки, сохраняя их в элементе Attributes структуры CHAR_INFO для каждой ячейки. 1
Цвет символов и фона задаётся с помощью констант, которые определяют тетрады символов. 4 Каждая тетрада представляет собой значение от 0 до 15, задаваемое логической суммой соответствующих констант. 4
Для управления отображением текста в консоли используются управляющие последовательности ANSI. 25 Это специальные коды, которые интерпретируются терминалом как команды для изменения цвета текста. 5 Например, для вывода красного текста используется код «[31m», а для установки красного фона — «[41m». 5
После изменения цвета текста или фона все последующие выводы в консоль будут с этими установками. 5 Чтобы вернуться к стандартным настройкам, нужно использовать управляющую последовательность для сброса — «[0m». 5