我在编译器GNU GCC
的IDE中运行C.我想在控制台应用程序中使用多彩的字符串输出。我使用的操作系统是Windows如何在我的控制台应用程序(C)中使用颜色?
此前,我使用了Borland C.所以,使用textcolor()
textbackground()
和cprintf()
都很好。但是这些函数似乎无法在包含GNU GCC编译器的Code:Blocks IDE中工作。
现在应该如何打印彩色文本?
我在编译器GNU GCC
的IDE中运行C.我想在控制台应用程序中使用多彩的字符串输出。我使用的操作系统是Windows如何在我的控制台应用程序(C)中使用颜色?
此前,我使用了Borland C.所以,使用textcolor()
textbackground()
和cprintf()
都很好。但是这些函数似乎无法在包含GNU GCC编译器的Code:Blocks IDE中工作。
现在应该如何打印彩色文本?
终端中的颜色构建在标准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
您也可以中用OR不止一个混合的颜色前景色或背景色,例如:
FOREGROUND_GREEN | FOREGROUND_BLUE
会给你一个蓝绿色的文字。
终端上的彩色输出有点特定于平台。你想让这个代码运行在哪个平台上? –
查看对此问题的回答,可能有所帮助:http://stackoverflow.com/a/4067037/139746 –
@PascalCuoq。它并没有帮助我 – cipher