2012-07-20 40 views

回答

1

您可以使用VT100 escape codes爲文本輸出添加顏色。那麼你不需要任何外部庫或程序。

例子:

printf("This text is \x1b[31mred \x1b[32mgreen \x1b[0mnormal.\n"); 

編輯:逃生代碼不會在Windows命令提示符下運行,而不是必須使用這樣的功能SetConsoleTextAttribute

這裏是展示瞭如何使用它的一個例子:

#include <windows.h> 
#include <stdio.h> 

int main() 
{ 
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 

    CONSOLE_SCREEN_BUFFER_INFO ConsoleInfo; 
    GetConsoleScreenBufferInfo(hConsole, &ConsoleInfo); 
    int originalAttrs = ConsoleInfo.wAttributes; 

    printf("This text is "); 
    SetConsoleTextAttribute(hConsole, FOREGROUND_RED); 
    printf("red "); 
    SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN); 
    printf("green "); 
    SetConsoleTextAttribute(hConsole, originalAttrs); 
    printf("normal\n"); 

    return 0; 
} 
+0

預包裝庫不幸的是,它會顯示它的字面.. – latenightcode 2012-07-20 08:18:44

+0

@vincentbelkin編輯我的回答對一個特定的Windows的解決方案。它的功能在Windows中是標準的,所以仍然不需要外部庫或程序。 – 2012-07-20 08:43:25

+0

謝謝你!要學會如何使用這 – latenightcode 2012-07-20 08:53:29

0

當然有。 libcaca是一個廣泛支持的基於文本的圖形庫,也許你會發現它很有用。

+0

沒有我的意思是,在GCC – latenightcode 2012-07-20 07:12:21