Dev-C++ 控制台输出不同颜色的符号/文字

作者: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++ 控制台输出不同颜色的符号/文字  好了,下期见!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值