1

I am running C in Code:Blocks IDE with the compiler GNU GCC. And I want to use colorful string output in my console application. The OS I am on is Windows

Previously, I used Borland C. So, using textcolor() textbackground() and cprintf() were fine. But these function does not seem to work on Code:Blocks IDE with GNU GCC Compiler wrapped with it.

What should I do to print colored texts now?

4

1 回答 1

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
}

为了进一步突出显示,您还可以更改背景,您可以或 ( |) 一起使用标志以获得不同的颜色和不同的背景/前景。

所以如果你想在绿色背景上做红色文字(出于某种原因),你可以这样做:

FOREGROUND_RED | BACKGROUND_GREEN

在此处输入图像描述

您还可以通过 OR'ing 多个前景色或背景色来混合颜色,例如:

FOREGROUND_GREEN | FOREGROUND_BLUE

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

于 2012-11-08T01:54:42.157 回答