21xrx.com
2024-06-03 03:44:44 Monday
登录
文章检索 我的文章 写文章
C++ 控制台文字颜色设置
2023-07-02 09:41:28 深夜i     --     --
C++ 控制台 文字颜色 设置

C++控制台文字颜色设置

在C++编程中,我们经常需要在控制台输出一些文字,并对文字的颜色进行设置,以便更好地进行调试和展示。本文将介绍如何通过C++代码来实现控制台文字的颜色设置。

在Windows环境下,控制台上的文字颜色可以通过使用Windows API的SetConsoleTextAttribute()函数来进行设置。在C++中,可以通过在头文件 中引入相关的函数来使用该函数。具体的代码如下:


#include <iostream>

#include <windows.h> //引入windows.h头文件

using namespace std;

int main() {

  HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  //获取控制台句柄

  SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY);

  //使用SetConsoleTextAttribute()函数设置红色前景色

  cout << "This text is in red." << endl; //在控制台中输出红色文字

  SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY);

  //使用SetConsoleTextAttribute()函数设置绿色前景色

  cout << "This text is in green." << endl; //在控制台中输出绿色文字

  SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);

  //使用SetConsoleTextAttribute()函数设置蓝色前景色

  cout << "This text is in blue." << endl; //在控制台中输出蓝色文字

  return 0;

}

在上述代码中,GetStdHandle()函数用于获取控制台句柄,而SetConsoleTextAttribute()函数用于设置前景色。在该函数中,我们可以使用以下预定义的颜色常量:

- FOREGROUND_BLUE: 蓝色前景色

- FOREGROUND_GREEN: 绿色前景色

- FOREGROUND_RED: 红色前景色

- FOREGROUND_INTENSITY: 高亮前景色

同时,我们还可以使用背景色常量,如:

- BACKGROUND_BLUE: 蓝色背景色

- BACKGROUND_GREEN: 绿色背景色

- BACKGROUND_RED: 红色背景色

- BACKGROUND_INTENSITY: 高亮背景色

我们还可以将这些常量进行组合,实现更多的文字颜色效果。例如,可以使用以下语句输出黄色文字:


SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);

cout << "This text is in yellow." << endl;

另外,当我们设置了前景色后,需要注意在输出完文字后恢复为默认颜色,否则后续的输出都会继承该颜色。可以使用以下语句进行恢复:


SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

以上就是在C++中实现控制台文字颜色设置的方法。通过这些简单的代码,我们能够更好地进行调试和展示。如果您感兴趣,可以自己尝试一下更多的颜色组合效果哦!

  
  

评论区

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