在 OS X 控制台输出中更改颜色
Change color in OS X console output
我正在尝试更改控制台应用程序的输出,但我只找到 Windows 版本的代码,这在 OS X 中当然不起作用。
代码应如下所示:
printf("some text"); //this should be in green
我知道,这只是一个printf()
执行,但我如何转换输出颜色?
Mac OS X 上的终端应用程序在打印时响应标准 ANSI escape codes for colors,例如 C/C+ 中的 printf()
+ 或 C++ 中的 std::cout <<
。
可用于设置前景and/or背景颜色的字符串如下所示:
只设置前景色:
"\x1b[30m"
只设置背景色:
"\x1b[40m"
设置前景色和背景色:
"\x1b[30;40m"
要将所有颜色属性重置为正常:
"\x1b[0m"
在上面的字符串中,数字 30 和 40 只是前景和背景颜色代码的占位符,它们可以替换为下面 table 中的数字以获得 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 |
+---------+------------+------------+
这是一个例子:
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");
它在 Mac OS X El Capitan 上看起来像这样(在终端 window 中,默认情况下是白底黑字)。
我正在尝试更改控制台应用程序的输出,但我只找到 Windows 版本的代码,这在 OS X 中当然不起作用。
代码应如下所示:
printf("some text"); //this should be in green
我知道,这只是一个printf()
执行,但我如何转换输出颜色?
Mac OS X 上的终端应用程序在打印时响应标准 ANSI escape codes for colors,例如 C/C+ 中的 printf()
+ 或 C++ 中的 std::cout <<
。
可用于设置前景and/or背景颜色的字符串如下所示:
只设置前景色:
"\x1b[30m"
只设置背景色:
"\x1b[40m"
设置前景色和背景色:
"\x1b[30;40m"
要将所有颜色属性重置为正常:
"\x1b[0m"
在上面的字符串中,数字 30 和 40 只是前景和背景颜色代码的占位符,它们可以替换为下面 table 中的数字以获得 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 |
+---------+------------+------------+
这是一个例子:
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");
它在 Mac OS X El Capitan 上看起来像这样(在终端 window 中,默认情况下是白底黑字)。