c语言怎样更改字体颜色
时间: 2023-10-26 08:42:03 浏览: 608
在C语言中,可以使用控制台窗口的API函数来更改字体颜色。具体实现步骤如下:
1. 引入头文件:`#include <windows.h>`
2. 定义控制台窗口句柄:`HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);`
3. 使用`SetConsoleTextAttribute()`函数设置控制台窗口中的字体颜色和背景颜色。该函数的原型如下:
`BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);`
其中,`hConsoleOutput`参数为控制台窗口句柄,`wAttributes`参数为字体颜色和背景颜色的组合值。可以使用以下宏定义来定义颜色:
- `FOREGROUND_BLUE`:蓝色
- `FOREGROUND_GREEN`:绿色
- `FOREGROUND_RED`:红色
- `FOREGROUND_INTENSITY`:高亮(加粗)
- `BACKGROUND_BLUE`:背景色为蓝色
- `BACKGROUND_GREEN`:背景色为绿色
- `BACKGROUND_RED`:背景色为红色
- `BACKGROUND_INTENSITY`:背景色高亮
颜色的组合方式为将字体颜色和背景颜色的宏定义值使用按位或运算符(|)组合起来。例如,设置白色字体和蓝色背景的代码如下:
`SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_INTENSITY);`
下面是一个简单的例子,可以尝试运行一下:
```
#include <windows.h>
#include <stdio.h>
int main()
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | BACKGROUND_INTENSITY);
printf("Hello, World!\n");
SetConsoleTextAttribute(hConsole, FOREGROUND_RED | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
printf("This is a test message.\n");
return 0;
}
```
运行结果为:
![c_console_color.png](https://cdn.jsdelivr.net/gh/Yousazoe/picgo-repo/img/c_console_color.png)
阅读全文