如何在控制台应用程序(C)中使用颜色?

时间:2012-11-08 00:58:47

标签: c windows console-application

我在Code:Blocks IDE中使用编译器GNU GCC运行C.我想在我的控制台应用程序中使用彩色字符串输出。我所使用的操作系统是Windows

之前,我使用过Borland C.所以,使用textcolor() textbackground()cprintf()都很好。但是这些函数似乎不适用于Code:Blocks IDE和GNU GCC Compiler。

我现在该怎么做才能打印彩色文字?

1 个答案:

答案 0 :(得分: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

您还可以通过对多个前景色或背景色进行“或”来混合颜色,例如:

FOREGROUND_GREEN | FOREGROUND_BLUE

会给你一个蓝绿色的文字。