Просто напечатайте строку цвета перед текстом, который вы хотите задать конкретным цветом.
Этот код
enum color
{
COLOR_RED,
COLOR_WHITE,
COLOR_RESET
};
int main(void)
{
const char* color_strings[3] = { "\x1b[31m", "\x1b[37m", "\x1b[0m" };
for (int i=0; i<10; ++i)
{
printf("%sO", color_strings[COLOR_RED]);
printf("%sX", color_strings[COLOR_WHITE]);
}
return 0;
}
даст вам чередующиеся красные O и белые X.
Если вы хотите использовать enum token
, вы также можете сделать:
enum color
{
COLOR_RED,
COLOR_WHITE,
COLOR_RESET
};
enum token
{
RED_TOKEN = 'O',
WHITE_TOKEN = 'X',
EMPTY_TOKEN = ' ',
INVALID_TOKEN = EOF
};
int main(void)
{
const char* color_strings[3] = { "\x1b[31m", "\x1b[37m", "\x1b[0m" };
for (int i=0; i<10; ++i)
{
printf("%s%c", color_strings[COLOR_RED], RED_TOKEN);
printf("%s%c", color_strings[COLOR_WHITE], WHITE_TOKEN);
}
return 0;
}