本文在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,如下图