发布日期:2018-03-26
如何向Linux终端输出彩色文本?+ 查看更多
如何向Linux终端输出彩色文本?
+ 查看更多
发布日期:2018-02-26 14:28
分类:CPlusPlus
浏览次数:157
如何在支持它的Linux终端上打印彩色字符?如何判断终端是否支持颜色代码?我需要使用C++实现。
回答:
你需要输出ANSI颜色代码。注意,并非所有终端都支持这一点;如果不支持颜色序列,将会出现错误。
例如:
cout << "\033[1;31mbold red text\033[0m\n";
在这里,\ 033是ESC字符,ASCII 27。它后面是[,然后是一个或两个数字,用;分隔,最后是字母m。有关数字的含义,请参阅维基百科上的表格。编辑:要确定您的终端是否支持颜色序列,请读取TERM环境变量的值。它应该指定使用的特定终端类型(例如vt100,gnome-terminal,xterm,screen,...)。然后在terminfo数据库中查找;并检查颜色的性能。