2012-11-08 27 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

相关问题