c语言颜色代码详解
作者:隐者_ 时间:2021-05-27 08:07:54
c语言颜色代码
初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性。
/*
颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加强 | 背景加强);
前景色:数字0-15 或 FOREGROUND_XXX 表示(其中XXX可用BLUE、RED、GREEN表示)
前景加强:数字8 或 FOREGROUND_INTENSITY 表示
背景色:数字16 32 64 或 BACKGROUND_XXX 三种颜色表示
背景加强: 数字128 或 BACKGROUND_INTENSITY 表示
主要应用:改变指定区域字体与背景的颜色
前景颜色对应值:
0=黑色 8=灰色
1=蓝色 9=淡蓝色 十六进制
2=绿色 10=淡绿色 0xa
3=湖蓝色 11=淡浅绿色 0xb
4=红色 12=淡红色 0xc
5=紫色 13=淡紫色 0xd
6=黄色 14=淡黄色 0xe
7=白色 15=亮白色 0xf
也可以把这些值设置成常量。
*/
#include <stdio.h>
#include <windows.h>
void color(short x)//自定义函根据参数改变颜色
{
if(x>=0 && x<=15)//参数在0-15的范围颜色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);//只有一个参数,改变字体颜色
else//默认的颜色白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}
int main()
{
printf("此处为没调用颜色函数之前默认的颜色\n");
//调用自定义color(x)函数 改变的颜色
color(0);printf("黑色\n");
color(1); printf("蓝色\n");
color(2); printf("绿色\n");
color(3); printf("湖蓝色\n");
color(4); printf("红色\n");
color(5); printf("紫色\n");
color(6); printf("黄色\n");
color(7); printf("白色\n");
color(8); printf("灰色\n");
color(9); printf("淡蓝色\n");
color(10); printf("淡绿色\n");
color(11); printf("淡浅绿色\n");
color(12); printf("淡红色\n");
color(13); printf("淡紫色\n");
color(14); printf("淡黄色\n");
color(15); printf("亮白色\n");
color(16); //因为这里大于15,恢复默认的颜色
printf("回到原来颜色\n");
//直接使用颜色函数
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
printf("红色字体 前景加强 绿色背景 背景加强\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15 | 8 | 128 | 64);
printf("亮白色字体 前景加强 红色背景 背景加强\n");
//声明句柄再调用函数
HANDLE JB = GetStdHandle(STD_OUTPUT_HANDLE);//创建并实例化句柄
SetConsoleTextAttribute(JB, 2 | 8);
printf("颜色及对应数字表:\n");
for(int i = 0;i < 1000;i ++){
//color(16);printf(" ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i);
printf("%-3d", i);
color(16);printf(" ");
if(i % 16 == 0)printf("\n");
}
color(16);
return 0;
//类似的函数还有system("color XX");(X是十六进制0~F之间的数,不过这种函数改变的是整个画面,而不能让多处局部变色;
}
以上实例很简单,大家可以在本地测试下,感谢大家的学习和对脚本之家的支持。
来源:https://blog.csdn.net/qq_31975227/article/details/51758461
标签:c语言,颜色代码
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
c# BackgroundWorker使用方法
2021-05-27 00:49:12
![](https://img.aspxhome.com/file/2023/1/76411_0s.png)
Spring中bean集合注入的方法详解
2022-08-26 07:37:41
![](https://img.aspxhome.com/file/2023/6/77146_0s.png)
C++日期类计算器的模拟实现举例详解
2023-05-22 08:27:16
java生成指定范围随机数的多种代码
2023-04-28 07:51:15
![](https://img.aspxhome.com/file/2023/3/60383_0s.png)
springMVC利用FastJson接口返回json数据相关配置详解
2023-02-24 10:51:58
Java单例模式的线程安全,饿汉和懒汉模式详解
2022-05-31 16:12:08
通过实例解析Spring argNames属性
2023-09-14 10:43:13
![](https://img.aspxhome.com/file/2023/0/58540_0s.jpg)
java之函数式接口解读
2022-07-16 16:32:46
![](https://img.aspxhome.com/file/2023/7/74887_0s.jpg)
手把手教你SpringBoot过滤器N种注册方式
2023-08-08 08:28:45
![](https://img.aspxhome.com/file/2023/1/103971_0s.jpg)
Android主线程和子线程区别详解
2023-12-18 17:33:38
C#图片压缩的实现方法
2022-07-01 21:26:12
java旋转二维数组实例
2021-07-04 05:39:48
Java内存模型JMM详解
2023-11-28 13:08:50
![](https://img.aspxhome.com/file/2023/4/59784_0s.png)
C#中?、?.、??、??=运算符的用法
2022-11-10 18:11:51
Java多线程和并发基础面试题(问答形式)
2022-03-29 17:39:42
Spring之spring-context-indexer依赖详解
2023-11-23 12:21:41
![](https://img.aspxhome.com/file/2023/4/59024_0s.jpg)
Spring Data JPA映射自定义实体类操作
2022-10-17 10:08:55
![](https://img.aspxhome.com/file/2023/2/72322_0s.png)
Unity实现攻击范围检测并绘制检测区域
2023-09-18 21:59:10
![](https://img.aspxhome.com/file/2023/7/67557_0s.jpg)
迅速掌握Java容器中常用的ArrayList类与Vector类用法
2022-12-16 16:18:47
Java获取字符串编码格式实现思路
2023-08-14 12:35:38