用c语言编写在屏幕上显示两种颜色
时间: 2024-09-09 09:11:46 浏览: 35
LCD图片显示 C语言 程序代码
在C语言中,如果你想在屏幕上显示不同颜色的文本,通常需要依赖于特定的操作系统的API函数。例如,在Windows系统中,你可以使用`SetConsoleTextAttribute`函数来设置控制台文本颜色。
下面是一个简单的例子,展示了如何在Windows系统中使用C语言设置控制台文本颜色:
```c
#include <stdio.h>
#include <windows.h> // 包含Windows API函数的头文件
// 设置控制台前景和背景颜色的函数
void SetColor(int ForgC) {
WORD wColor;
// 获取控制台的句柄
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
// 获取当前的属性
if(GetConsoleScreenBufferInfo(hStdOut, &csbi)) {
// 设置新的颜色,保持背景颜色不变,只改变前景颜色
wColor = (csbi.wAttributes & 0xF0) + (ForgC & 0x0F);
SetConsoleTextAttribute(hStdOut, wColor);
}
}
int main() {
// 输出红色文本
SetColor(4);
printf("这是红色的文本。\n");
// 输出绿色文本
SetColor(2);
printf("这是绿色的文本。\n");
// 重置文本颜色为默认值
SetColor(7);
printf("这是默认颜色的文本。\n");
return 0;
}
```
在这个例子中,`SetColor`函数接受一个参数`ForgC`,该参数是一个整数,其低四位代表前景(文本)颜色,高四位代表背景颜色。例如,如果你传入4,它会设置前景颜色为红色。`SetConsoleTextAttribute`函数用于改变控制台窗口中文本的颜色。
需要注意的是,这个例子只适用于Windows操作系统,因为`windows.h`头文件和相关的API函数是Windows特有的。如果你在其他操作系统上工作,比如Linux或macOS,你需要使用其他方法来设置控制台颜色。
阅读全文