dus*_*uff 33
可能最简单的检查方法是:
isatty(fileno(STDOUT))
Run Code Online (Sandbox Code Playgroud)
1如果您的标准输出被发送到任何类型的终端,这将返回.在实践中,任何终端都将支持或忽略VT100颜色代码; 检查terminfo是不必要的,除非您希望输出到某些非常不寻常的硬件终端.(其中大部分都没有在几十年内完成.)
要输出颜色,请使用(扩展)SGR序列:
"\x1b[%dm"
Run Code Online (Sandbox Code Playgroud)
其中%d一个是常用颜色的以下值之一:
0: reset colors/style
1: bold
4: underline
30 - 37: black, red, green, yellow, blue, magenta, cyan, and white text
40 - 47: black, red, green, yellow, blue, magenta, cyan, and white background
Run Code Online (Sandbox Code Playgroud)
有更多的值,但这些是最受支持的值.同样,检查terminfo对于这些控制代码来说基本上是不必要的,因为每个值得盐的软件终端都支持(或忽略)它们.
如果需要一次更改多个属性,可以一次指定所有属性,用分号分隔.例如,以下序列将在绿色背景上用大胆的洋红色文字灼烧您的眼球:
"\x1b[1;35;42m"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8610 次 |
| 最近记录: |