簡體   English   中英

在OS X控制台輸出中更改顏色

[英]Change color in OS X console output

我正在嘗試更改控制台應用程序的輸出,但我發現只有Windows版本的代碼,當然這在OS X中不起作用。

代碼應如下所示:

printf("some text"); //this should be in green

我知道,這只是一個printf()執行,但我怎樣才能轉換輸出顏色?

Mac OS X上的終端應用程序在使用例如C / C ++中的printf()或C ++中的std::cout <<打印顏色時會響應標准的ANSI轉義碼

可用於設置前景色和/或背景色的字符串如下所示:

僅設置前景色:

 "\x1b[30m"

僅設置背景顏色:

 "\x1b[40m"

設置前景色和背景色:

 "\x1b[30;40m"

要將所有顏色屬性重置為正常:

 "\x1b[0m"

在上面的字符串中,數字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     |
+---------+------------+------------+

這是一個例子:

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上看起來像這樣(在終端窗口中,默認情況下在白色背景上有黑色文本)。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM