虽然平时写 Java 比较多,但有时候验证个小算法的时候,打开『Eclipse』或者『IntelliJ IDEA』又费时,感觉没有必要,而 C 和 C++ 有很多比较轻量的编译器,几乎是秒开的,比如『GCC』,因此用来写个小算法是最适合不过的。

但当多打开几个控制台的时候,由于背景颜色都是黑色,总不能一次就找到想要的那个,影响效率。

Black Console

那能不能修改控制台的背景颜色呢?

当然是可以的,右击控制台的标题栏进入「属性」设置,即可对控制台的字体、颜色、布局等进行修改。

GCC Settings

但是修改完后你会发现,虽然修改成功,但所有控制台的属性都会发生变化,这也没有办法提升我们的效率。

那能不能单独修改各个控制台的颜色呢?

其实,C 和 C++ 的标准库为我们提供了修改控制台文件的函数,我们直接调用即可修改控制台的颜色。

首先我们需要添加标准库的头文件:

#include <stdlib.h>

然后在主函数中添加一条 system() 函数的调用代码:

system("COLOR..");

运行程序,可以在控制台中看到关于颜色设置的介绍。

设置默认的控制台前景和背景颜色。

COLOR [attr]

  attr        指定控制台输出的颜色属性。

颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:

    0 = 黑色       8 = 灰色
    1 = 蓝色       9 = 淡蓝色
    2 = 绿色       A = 淡绿色
    3 = 浅绿色    B = 淡浅绿色
    4 = 红色       C = 淡红色
    5 = 紫色       D = 淡紫色
    6 = 黄色       E = 淡黄色
    7 = 白色       F = 亮白色

如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台
窗口、/T 命令行开关或 DefaultColor 注册表
值。

如果尝试使用相同的
前景和背景颜色来执行
 COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。

控制台的弹窗中说明很清楚,COLOR 后的第一个十六进制数字决定背景颜色,第二个十六进制数字决定文字颜色。

即如果我们添加以下代码:

system("COLOR FC");

控制台的背景颜色将改为亮白色,文字颜色将改为淡红色。

这样,当我们需要产生多个控制台窗口时,就可以在代码中对其颜色进行定义,方便我们查看不同的内容。

Colorful Console