[英]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.