首页 >后端开发 >C++ >如何在 Linux 终端中打印彩色文本?

如何在 Linux 终端中打印彩色文本?

Barbara Streisand
Barbara Streisand原创
2024-12-23 07:21:11155浏览

How Can I Print Colored Text in a Linux Terminal?

将彩色文本输出到 Linux 终端

问题:如何在 Linux 终端中显示彩色文本支持此功能吗?

答案:输出彩色字符,需要使用 ANSI 颜色代码。然而,值得注意的是,并非所有终端都具备此功能。如果不支持颜色序列,终端将显示垃圾。

例如:

cout << "3[1;31mbold red text3[0m\n";

在此示例中,33 是转义字符,ASCII 27。它后面是 [ ,然后是一个或多个由 ; 分隔的数字,最后是字母 m。这些数字指定从该点开始应用的颜色和格式。

颜色代码:

前景色和背景色的代码如下:

Foreground Background
30 40 (Black)
31 41 (Red)
32 42 (Green)
33 43 (Yellow)
34 44 (Blue)
35 45 (Magenta)
36 46 (Cyan)
37 47 (White)

额外代码:

此外,您还可以使用以下代码:

Code Description
0 Reset (everything back to normal)
1 Bold/Bright (often a brighter shade of the same colour)
4 Underline
7 Inverse (swap foreground and background colours)
21 Bold/Bright off
24 Underline off
27 Inverse off

请参阅维基百科页面以获取更多受广泛支持的代码。

终端支持检查:

要确定您的终端是否支持颜色序列,请检查该值TERM 环境变量。它应该指示正在使用的特定终端类型(例如 vt100、gnome-terminal、xterm、screen,...)。随后,检查 terminfo 数据库中的颜色功能。

以上是如何在 Linux 终端中打印彩色文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn