21xrx.com
2024-12-22 18:46:30 Sunday
登录
文章检索 我的文章 写文章
如何在C++中输出带颜色的文本
2023-07-14 14:21:33 深夜i     --     --
C++ 输出 颜色 文本 终端

在C++中输出带颜色的文本可以使输出的信息更加直观和清晰。C++中提供了一些库函数可以实现输出带颜色的文本。

首先,需要包含头文件` `。这个头文件是Windows API中的一个核心头文件,提供了许多系统调用和函数原型。

其次,需要调用Windows API中的函数`SetConsoleTextAttribute()`,该函数被用于更改控制台窗口的文本属性。该函数可以接受两个参数,第一个参数为控制台输出句柄,第二个参数为输出文本的属性。例如,属性值为`FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY`表示输出文本将会呈现红绿相间的高亮效果。

下面是一个例子,该例子会在控制台输出红绿相间的高亮文本:


#include <Windows.h>

#include <iostream>

int main()

{

  HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); // 取得控制台输出句柄

  SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY); // 设置输出文本颜色

  std::cout << "Hello, World!" << std::endl;

  return 0;

}

除了红绿相间的高亮文本,Windows API还提供了其它多种属性值,例如:

| 属性值        | 颜色   |

| --------------------- | -------- |

| FOREGROUND_RED     | 红色   |

| FOREGROUND_GREEN    | 绿色   |

| FOREGROUND_BLUE    | 蓝色   |

| FOREGROUND_YELLOW   | 黄色   |

| FOREGROUND_INTENSITY  | 高亮   |

| BACKGROUND_RED     | 背景:红 |

| BACKGROUND_GREEN    | 背景:绿 |

| BACKGROUND_BLUE    | 背景:蓝 |

| BACKGROUND_INTENSITY  | 背景:高 |

通过设置合适的属性值和使用`SetConsoleTextAttribute()`函数,我们可以输出各种不同颜色的文本。

需要注意的是,使用带颜色的文本在不同的控制台窗口中可能会有不同的效果。因此,最好在有多个平台上测试输出文本的颜色效果是否一致。

  
  

评论区

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