设置c++中cout输出的字体颜色

在c++中控制台的默认字体颜色是白色,但是有时我们需要其他颜色,比如用红色提示错误,使用绿色提示计算完成,使用黄色表示警示等等,那么如何设置控制台文字的颜色呢?

一种方法是通过右键控制台进行颜色设置,但是这种方法的问题在于它是全局的,没有具体文字的区分。另外一种方法就是使用代码来修改,本文主要介绍的就是这种方法。

最重要的函数是SetConsoleTextAttribute()函数,这个函数需要提前引入windows.h库文件方可使用。这个函数接受两个参数,第一个参数要获得句柄,即GetStdHandle(STD_OUTPUT_HANDLE),第二个参数用来设置颜色,属性相加是在属性值中间添加 “|” 隔开,举例如下:

FOREGROUND_INTENSITY 表示设置前景色为高亮显示。 
FOREGROUND_RED 表示设置前景色为红色,即字体颜色为红色。 
FOREGROUND_GREEN 表示设置前景色为绿色,即字体颜色为绿色。 
FOREGROUND_BLUE 表示设置前景色为蓝色,即字体颜色为蓝色。 

BACKGROUND_INTENSITY 表示设置背景色为高亮显示。 
BACKGROUND_RED 表示设置背景色为红色。 
BACKGROUND_GREEN 表示设置背景色为绿色。 
BACKGROUND_BLUE 表示设置背景色为蓝色。 

FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE 即设置前景色为高亮显示,并且叠加红、绿、蓝(即白色)

注意:默认情况下,控制台字符的颜色是白色,没有没有高亮。

下面是函数的应用:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
    cout << "ATTENTION: please create the 'outputfolder' folder in the same level directory of main.cpp." << endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);

即这里实际上是将cout的颜色设置为高亮的绿色,然后紧接着下面cout的输出是白色,这样就可以解决本文开头我的问题了。

原文链接: https://www.cnblogs.com/zhuzhenwei918/p/9108335.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/274791

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午12:38
下一篇 2023年2月15日 上午12:38

相关推荐