在C语言中,设置控制台文本颜色的方法主要依赖于Windows操作系统提供的API函数。以下是几种常见的方法:
方法一:使用Windows.h头文件中的SetConsoleTextAttribute函数
```c
include include int main() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY); // 设置文本为红色并加粗 printf("This is a red text.\n"); SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY); // 设置文本为绿色并加粗 printf("This is a green text.\n"); return 0; } ``` 方法二:使用自定义函数 ```c include include void set_color(short color) { if (color >= 0 && color <= 15) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); } else { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); // 默认颜色白色 } } int main() { set_color(FOREGROUND_RED); // 设置前景色为红色 printf("This is a red text.\n"); set_color(FOREGROUND_GREEN); // 设置前景色为绿色 printf("This is a green text.\n"); return 0; } ``` 方法三:使用位运算符组合颜色 ```c include include int main() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, FOREGROUND_RED | BACKGROUND_WHITE); // 设置前景色为红色,背景色为白色 printf("This is a red text on a white background.\n"); SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_BLACK); // 设置前景色为蓝色,背景色为黑色 printf("This is a blue text on a black background.\n"); return 0; } ``` 方法四:使用system()函数 ```c include void set_color(int color) { system("color " + std::to_string(color)); } int main() { set_color(1); // 设置背景色为黑色 printf("This is a text with a black background.\n"); set_color(15); // 设置前景色为白色 printf("This is a text with a white foreground.\n"); return 0; } ``` 注意事项 上述方法主要适用于Windows操作系统。如果在其他操作系统(如Linux)上运行,需要使用不同的方法(如ANSI转义序列)。 颜色值通常在0到15之间,其中0表示黑色,1表示蓝色,2表示绿色,3表示青色,4表示红色,5表示紫色,6表示黄色,7表示白色,8表示灰色,9表示淡蓝色,A表示淡绿色,B表示淡青色,C表示淡红色,D表示淡紫色,E表示淡黄色,F表示亮白色。 根据具体需求和操作系统,可以选择合适的方法来设置控制台文本颜色。平台依赖性:
颜色值范围: