2012-11-08 65 views
1

我在編譯器GNU GCC的​​IDE中運行C.我想在控制檯應用程序中使用多彩的字符串輸出。我使用的操作系統是Windows如何在我的控制檯應用程序(C)中使用顏色?

此前,我使用了Borland C.所以,使用textcolor()textbackground()cprintf()都很好。但是這些函數似乎無法在包含GNU GCC編譯器的Code:Blocks IDE中工作。

現在應該如何打印彩色文本?

+0

終端上的彩色輸出有點特定於平臺。你想讓這個代碼運行在哪個平臺上? –

+0

查看對此問題的回答,可能有所幫助:http://stackoverflow.com/a/4067037/139746 –

+0

@PascalCuoq。它並沒有幫助我 – cipher

回答

1

終端中的顏色構建在標準Windows中,非常簡單。你想要SetConsoleTextAttribute()功能,這裏有一個很簡單的例子:

#include <stdio.h> 
#include <Windows.h> 
#include <string.h> 

void main() 
{ 
    printf("Hello\n"); // Print white text on black output 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED); 
    printf("Hello Again!\n"); // Print Red text on black output 
    getchar(); // Pause the program to admire the colors 
} 

爲了進一步凸顯您還可以更改回地面,你可以OR(|)一起標誌,以得到不同的顏色和不同的背/脫穎而出的理由。

所以,如果你想要做一個綠色的回地面的紅色文字(出於某種原因),你可以這樣做:

FOREGROUND_RED | BACKGROUND_GREEN 

enter image description here

您也可以中用OR不止一個混合的顏色前景色或背景色,例如:

FOREGROUND_GREEN | FOREGROUND_BLUE 

會給你一個藍綠色的文字。

+0

還有一件事。我們也可以改變整個背景顏色嗎?怎麼樣? – cipher

+1

嗯......我確定那裏是......以前沒有做過。我會看看我能否弄清楚並更新 – Mike

相關問題