21xrx.com
2024-11-22 06:23:02 Friday
登录
文章检索 我的文章 写文章
C++ 控制台文字颜色设置
2023-07-03 18:11:58 深夜i     --     --
C++ 控制台 文字颜色设置 命令行界面 Windows编程

在 C++ 编程中,我们经常需要在控制台中输出内容,而如果能够给输出的文字加上不同的颜色,就可以让输出更加直观和美观。因此,在本篇文章中我们将介绍如何在 C++ 控制台中设置文字颜色。

首先,我们需要包含 Windows.h 头文件,该头文件中定义了一系列控制台输出相关的函数和变量。


#include <windows.h>

然后,我们可以通过 SetConsoleTextAttribute 函数来设置控制台输出文字的颜色。该函数的使用方法如下:


HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hConsole, FOREGROUND_COLOR);

其中,HANDLE 类型的变量 hConsole 是标准输出流的句柄,可以使用 GetStdHandle 函数获取。FOREGROUND_COLOR 是一个枚举类型,用于定义所选颜色的值。下面是一些常用颜色的枚举值:


FOREGROUND_BLUE    // 深蓝色

FOREGROUND_GREEN    // 绿色

FOREGROUND_RED     // 红色

FOREGROUND_CYAN    // 青色

FOREGROUND_MAGENTA   // 紫罗兰色

FOREGROUND_YELLOW   // 黄色

FOREGROUND_WHITE    // 白色

要输出深蓝色的文字,只需按照以下代码设置:


HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);

值得指出的是,上述设置不仅仅是针对后面输出的文字颜色,而是会改变整个控制台窗口的前景色。因此,当我们使用完某种颜色后,需要将其重置为默认颜色,以免对后续输出造成影响。


SetConsoleTextAttribute(hConsole, FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

上述代码将颜色设置为默认颜色。其中,常量 FOREGROUND_INTENSITY 表示设置强调,将字符加粗;颜色值 FOREGROUND_RED、FOREGROUND_GREEN 和 FOREGROUND_BLUE 表示将颜色值恢复为原始值。当然,在实际开发中,我们可以根据情况选择只重置部分属性。

总结:

本文介绍了如何在 C++ 控制台中设置文字颜色。可以通过函数 SetConsoleTextAttribute 来设置文字颜色,常用的颜色值可以通过 FOREGROUND_COLOR 枚举实现。最后,需要注意在输出完成后将颜色重置为默认颜色。这些简单的设置可以让控制台输出更加多彩和生动。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复