作者:m0_66373508
1.SetConsoleTextAttribute函数彩色字
接触Dev-C++后,小编一直在找输出各种彩色字的方法,后来发现了一种比较快速的调用方式
这个方式很明显有比较大的弊端,那就是只有16色。代码如下:
//16色排序的色谱
#include<bits/stdc++.h>//这个是一个好用的万能头文件
#include <windows.h>//这个是调用Windows的,这个函数好像是Windows的
void color(int x)//函数,这个只有正整数可以产生颜色,小数,负数都是原来的字
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);//(改色)
}
int main()//主函数
{
for(int i=0;i<=15000;i++)//for循环
{
color(i); //这个 i 可以改数字,如:color(1);//黑底深蓝色字
printf("%d",i); //这个是会被改颜色的输出
color(0); //这个是黑底黑字
printf(".\n"); //换行,如果不这么弄控制台总是会因为点击变色(可能是bug)
}
return 0; //结束代码
}
这样就会输出一个色谱。
调用时直接 color(阿拉伯数字); 这个方式的代码不但可以改前景色,还能改背景色 。
以下是色谱的部分,以供参考 (15+1,加黑色刚好16色)请勿说是15色
0 = 黑色 | 8 = 灰色 |
1 = 蓝色 | 9 = 淡蓝色 |
2 = 绿色 | 10 = 淡绿色 |
3 = 浅绿色 | 11 = 淡浅绿色 |
4 = 红色 | 12 = 淡红色 |
5 = 紫色 | 13 = 淡紫色 |
6 = 黄色 | 14 = 淡黄色 |
7 = 白色 | 15 = 亮白色 |
2.粗暴简单的system("color i");
还有一种比较局限但是简单的方式,但是简单易懂
标题上的很明显不能运行,因为这种彩色字不能轻松用变量调所以很用途很少
代码如下:
#include<bits/stdc++.h>//这个是一个好用的万能头文件
#include<stdlib.h>//这是所需头文件
int main()
{
system("color 8");//只能用数字,至于 system("color %d",i); 真的用不了【doge】
printf("这个就只能满屏幕单色");//...
return 0;//就这样,结束
}
色谱如下:是十六进制的【滑稽】(没第一个好用还是16进制)
0 = 黑色 | 8 = 灰色 |
1 = 蓝色 | 9 = 淡蓝色 |
2 = 绿色 | A = 淡绿色 |
3 = 浅绿色 | B = 淡浅绿色 |
4 = 红色 | C = 淡红色 |
5 = 紫色 | D = 淡紫色 |
6 = 黄色 | E = 淡黄色 |
7 = 白色 | F = 亮白色 |
当数字有问题时自动弹出的菜单:
3.ANSI改变字符颜色(选看,win10,win11)才能用
什么?这个居然只能win10后的电脑用,但是,我认为它是色谱最全的方式了
由于我不太会用,直接放代码给各位了。
代码如下(示例):
#include <bits/stdc++.h>//全能头文件
#include <windows.h>//windows.h头文件
using namespace std;
void rgb_init()//ANSI的函数
{
HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE);//输入句柄
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);//输出句柄(不太懂)
DWORD dwInMode, dwOutMode;
GetConsoleMode(hIn, &dwInMode);//获取控制台输入模式
GetConsoleMode(hOut, &dwOutMode);//获取控制台输出模式
dwInMode |= 0x0200;//更改
dwOutMode |= 0x0004;
SetConsoleMode(hIn, dwInMode);//设置控制台输入模式
SetConsoleMode(hOut, dwOutMode);//设置控制台输出模式
}
void rgb_set(int wr,int wg,int wb,int br,int bg,int bb)//设置RGB
{
printf("\033[38;2;%d;%d;%dm\033[48;2;%d;%d;%dm",wr,wg,wb,br,bg,bb);
//\033[38表示前景,\033[48表示背景,三个%d表示混合的数
}
int main()
{
rgb_init();
rgb_set(255,255,255,123,146,70);
printf("这个输出很好");
rgb_set(255,255,255,63,126,130);
printf("这个输出怎么弄");
rgb_set(255,255,255,1,186,200);
printf("这个输出居然只能win10,win11用");
return 0
}
//这栏代码是网上找的,实在不太会,见谅,侵权联系我删除
这个就是一个很好的256色图,但是配置太高了一点。
总结
提示:除了第3点,其余是自己写的程序,3侵权的话私信删
以上就是 Dev-C++ 控制台输出不同颜色的符号/文字 好了,下期见!