Поскольку вам нужно решение для C и Windows, я бы рекомендовал использовать функцию SetConsoleTextAttribute()
в Win32 API. Вам нужно будет захватить дескриптор консоли, а затем передать его с соответствующими атрибутами.
В качестве простого примера:
/* Change console text color, then restore it back to normal. */
#include <stdio.h>
#include <windows.h>
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO consoleInfo;
WORD saved_attributes;
/* Save current attributes */
GetConsoleScreenBufferInfo(hConsole, &consoleInfo);
saved_attributes = consoleInfo.wAttributes;
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
printf("This is some nice COLORFUL text, isn't it?");
/* Restore original attributes */
SetConsoleTextAttribute(hConsole, saved_attributes);
printf("Back to normal");
return 0;
}
Для получения дополнительной информации о доступных атрибутах, посмотрите здесь .
Надеюсь, это поможет! :)