admin 管理员组

文章数量: 1086019


2024年7月2日发(作者:input type date)

c语言改变颜色

1.改变整个控制台的颜色

用 system("color 0A");

其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色1=蓝色2=绿色3=湖蓝色

4=红色5=紫色6=黄色7=白色

8=灰色9=淡蓝色A=淡绿色B=淡浅绿色

C=淡红色D=淡紫色E=淡黄色F=亮白色

2.改变下一个输出或者输入字体和背景的颜色

采用SetConsoleTextAttribute函数,如

White on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

Red on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY |FOREGROUND_RED);

Green on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY | FOREGROUND_GREEN);

Yellow on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY |FOREGROUND_RED | FOREGROUND_GREEN);

Blue on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY |FOREGROUND_BLUE);

Magenta on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY |FOREGROUND_RED | FOREGROUND_BLUE);

Cyan on Black:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUN

D_INTENSITY |FOREGROUND_GREEN | FOREGROUND_BLUE);

Black on Gray:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUN

D_INTENSITY |BACKGROUND_INTENSITY);

Black on White:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUN

D_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED |

BACKGROUND_GREEN | BACKGROUND_BLUE);

Red on White:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUN

D_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED |

BACKGROUND_GREEN | BACKGROUND_BLUE |FOREGROUND_RED);等等。

需要引入头文件:

windows.h

函数原型:

BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);

wAttributes 的取值含义对应如下:

Attribute Meaning

foreground_blue Text color contains blue.

foreground_green Text color contains green.

foreground_red Text color contains red.

foreground_intensity Text color is intensified. background_blue Background

color contains blue. background_green Background color contains green.

background_red Background color contains red. background_intensity Background

color is intensified. common_lvb_leading_byte Leading byte.

common_lvb_trailing_byte Trailing byte.

common_lvb_grid_horizontal Top horizontal.

common_lvb_grid_lvertical Left vertical.

common_lvb_grid_rvertical Right vertical.

common_lvb_reverse_video Reverse foreground and background

attributes.

common_lvb_underscore Underscore.

#include

#include

int main(void)

{

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),

BACKGROUND_RED | FOREGROUND_GREEN);

printf("TestA");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),

BACKGROUND_BLUE | FOREGROUND_RED | FOREGROUND_GREEN);

printf("TestB");

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),

FOREGROUND_INTENSITY | FOREGROUND_BLUE);

printf("TestCn");

getchar();

return0;

}


本文标签: 颜色 代号 蓝色