gpt4 book ai didi

c++ - 如何将彩色文本输出到 Linux 终端?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:44 29 4
gpt4 key购买 nike

如何将彩色字符打印到支持它的 Linux 终端?

如何判断终端是否支持颜色代码?

最佳答案

你需要输出ANSI colour codes .请注意,并非所有终端都支持此功能;如果不支持颜色序列,则会出现垃圾。

例子:

 cout << "\033[1;31mbold red text\033[0m\n";

这里,\033是ESC字符,ASCII 27,后面是[,然后是0个或多个分隔的数字; ,最后是字母 m。这些数字描述了从该点开始切换到的颜色和格式。

前景色和背景色的代码是:

         foreground background
black 30 40
red 31 41
green 32 42
yellow 33 43
blue 34 44
magenta 35 45
cyan 36 46
white 37 47

此外,您还可以使用这些:

reset             0  (everything back to normal)
bold/bright 1 (often a brighter shade of the same colour)
underline 4
inverse 7 (swap foreground and background colours)
bold/bright off 21
underline off 24
inverse off 27

参见 table on Wikipedia对于其他不太广泛支持的代码。


要确定您的终端是否支持颜色序列,请读取 TERM 环境变量的值。它应该指定使用的特定终端类型(例如 vt100gnome-terminalxtermscreen、.. .).然后在 terminfo database 中查找;检查 colors 功能。

关于c++ - 如何将彩色文本输出到 Linux 终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762452/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com