C语言实现控制台输出背景颜色字体颜色变化

   在大学第二次接触C语言这么课,想把学习中遇到的困惑和一些小技巧总结下来。

  要实现控制台的输出背景颜色变化有两种方式,一种是system(“clolor **”),另外一种是使用windows API提供的函数SetConsoleTextAttribute(),至于第二种用法,可以自己搜索其中的参数设置,这里提到第一种。

 system()函数是函数库stdlib.h里面提供的标准函数,可利用不同参数实现不同功能

        char con[5];
	char color[20]="color ";
	int i;
	puts("***************控制台颜色和图形颜色*****************\n");
	printf("0 = 黑色          8 = 灰色\n");
	printf("1 = 蓝色          9 = 浅蓝色\n");
	printf("2 = 绿色          A = 淡绿色\n");
	printf("3 = 浅绿色        B = 淡浅绿色\n");
	printf("4 = 红色          C = 淡红色\n");
	printf("5 = 紫色          D = 淡紫色\n");
	printf("6 = 黄色          E = 淡黄色\n");
	printf("7 = 白色          F = 亮白色\n");
	printf("请输入两位数,第一位为控制台颜色,第二位为图形颜色\n");
	gets(con);//获取控制台和文字颜色显示选项
	strcat(color,con);//合并color和选项
	//puts(color);
	system(color);//调用system()函数实现显示颜色变化
	//采用windows API实现相同功能代码(部分)
	/*printf("请选择图形颜色\n");
	scanf("%d", &i);
	switch (i)
	{
	case 1:
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE);
		printf("dsadas");
	case 2:
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
	case 3:
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
	case 4:
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);
	default:
		break;
	}*/

C语言实现控制台输出背景颜色字体颜色变化_第1张图片

C语言实现控制台输出背景颜色字体颜色变化_第2张图片


  

你可能感兴趣的:(C语言实现控制台输出背景颜色字体颜色变化)