C语言中如何设置字体颜色
时间: 2024-09-08 07:04:44 浏览: 44
在C语言中,设置控制台字体颜色通常使用Windows平台的`SetConsoleTextAttribute`函数或者使用ANSI转义序列来在支持ANSI转义序列的终端中改变颜色。以下是两种方法的简单示例:
1. 使用Windows API设置控制台字体颜色:
```c
#include <windows.h>
// 设置控制台字体颜色为红色
void SetConsoleColorRed(HANDLE hConsoleOutput) {
SetConsoleTextAttribute(hConsoleOutput, FOREGROUND_RED | FOREGROUND_INTENSITY);
}
// 使用示例
int main() {
HANDLE hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleColorRed(hConsoleOutput);
printf("这行文本将会显示为红色。\n");
// 恢复默认颜色
SetConsoleTextAttribute(hConsoleOutput, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
return 0;
}
```
2. 使用ANSI转义序列设置字体颜色(适用于支持ANSI转义序列的终端):
```c
#include <stdio.h>
// 打印红色文本的宏
#define REDTEXT printf("\x1b[31m")
int main() {
REDTEXT; // 设置文本颜色为红色
printf("这行文本将会显示为红色。\n");
printf("\x1b[0m"); // 恢复默认颜色
return 0;
}
```
请注意,使用ANSI转义序列的方法在某些旧版Windows的命令提示符下可能不起作用,但在Windows 10的更新版本和多数Unix/Linux系统的终端中通常都是支持的。