Dom*_*ann 3 c macos colors console-application
我正在尝试更改控制台应用程序的输出,但我发现只有Windows版本的代码,当然这在OS X中不起作用.
代码应如下所示:
printf("some text"); //this should be in green
Run Code Online (Sandbox Code Playgroud)
我知道,这只是一个printf()执行,但我怎样才能转换输出颜色?
Mac OS X上的终端应用程序在使用例如C/C++或C++ 打印时对颜色的标准ANSI转义码做出响应.printf()std::cout <<
可用于设置前景色和/或背景色的字符串如下所示:
仅设置前景色:
"\x1b[30m"
Run Code Online (Sandbox Code Playgroud)
仅设置背景颜色:
"\x1b[40m"
Run Code Online (Sandbox Code Playgroud)
设置前景色和背景色:
"\x1b[30;40m"
Run Code Online (Sandbox Code Playgroud)
要将所有颜色属性重置为正常:
"\x1b[0m"
Run Code Online (Sandbox Code Playgroud)
在上面的字符串中,数字30和40只是前景色和背景色代码的占位符,它们可以用下表中的数字代替,以获得8种标准颜色中的一种:
+---------+------------+------------+
| color | foreground | background |
| | code | code |
+---------+------------+------------+
| black | 30 | 40 |
| red | 31 | 41 |
| green | 32 | 42 |
| yellow | 33 | 43 |
| blue | 34 | 44 |
| magenta | 35 | 45 |
| cyan | 36 | 46 |
| white | 37 | 47 |
+---------+------------+------------+
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
printf("\x1b[32m green text on regular background \x1b[0m \n");
printf("\x1b[32;40m green text on black background \x1b[0m \n");
printf("\x1b[42m regular text on green background \x1b[0m \n");
Run Code Online (Sandbox Code Playgroud)
在Mac OS X El Capitan上看起来像这样(在终端窗口中,默认情况下在白色背景上有黑色文本).
| 归档时间: |
|
| 查看次数: |
4402 次 |
| 最近记录: |