C语言控制台字体颜色控制

本文介绍了如何在Windows平台下使用C语言通过MinGW编译器实现控制台颜色的改变,包括基本的color命令、system()函数应用、以及使用SetConsoleTextAttribute和SetConsoleMode函数进行更精细的控制,最后讨论了跨平台兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文在windows平台下,采用MinGW编译器。

一、一个示例

上学期,带学生C语言课程时,有学生写出了一段错误程序,如下:

// con_error.c
#include <stdio.h>
int main(void)
{
    print("hello,world\n")

    return 0;
}

看到,这个程序中有明显的错误,printf()函数行语句后缺少分号,这将导致错误,如下图

让学生不解的是,他们写的程序都是黑底白字的枯燥输出,而这里,会看到,控制台的某些关键字体颜色改变了,我们来实现,美中不足,这玩应要依赖平台特性。

二、一个控制台命令color

按win+r,在“运行”对话框中输入cmd,调出控制台,默认的控制台颜色是黑底(近似黑色),淡灰色字体,一般默认情况下:

背景颜色RGB值为(12,12,12);

字体颜色RGB值为(204,204,204)。

可以使用控制台命令color改变背景色和前景色。color命令格式为:

color xy

其中x代表背景色,y代表前景色。windows中的定义如下

我们做个试验,启动控制台,看到黑底白字的默认界面,然后输入:

color 24

界面将呈现绿色背景色,红色字体。这个函数有个返回值,保存在系统变量errorlevel中,再执行:

echo %errorlevel%

将返回0。代表执行正确,如下图。

但是,你不能将背景色和前景色设置为相同颜色,再启动一个控制台,执行:

color 22

控制台背景和前景色不会有任何变化,再执行:

echo %errorlevel%

将返回错误代码1,如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值