控制台\033方式设置字体颜色

原创:丶无殇    2020-2-1


简介

这个字体颜色几乎可以在任何能在控制台或者终端输入语句的编程语言中使用,本文使用的是C语言演示的控制台。
在此,不介绍Windows程序控制台中使用Windows.h库中的setconsoletextattribute函数,仅介绍\033控制字符(ESC)的方法。该方法可以直接适用于printf()函数中。

其中,\033(八进制)即ESC符号,Windows中为\027(十进制),\x1b(十六进制)

格式

开始格式:

\033 [ 参数1 ; 参数2 ; 参数3 m   //以字母m结尾

内容格式:

正常的printf中的参数及内容

结束格式:

\033[0m   //结束一定要有结束标志

参数效果

总览

控制码

效果

\033[0m

关闭所有属性

\033[1m

设置字体高亮度

\033[2m

低亮(减弱)显示

\033[4m

下划线

\033[5m

闪烁

\033[7m

反显

\033[8m

消隐

\033[30m~\033[39m

字体颜色

\033[40m~\033[49m

背景颜色

单值控制码

不能与其他控制码联用

控制码

效果

\033[nA

光标上移n行

\033[nB

光标下移n行

\033[nC

光标右移n列

\033[nD

光标左移n列

\033[y;xH

设置光标位置(y行,x列)

\033[2J

清屏

\033[K

清除从光标到行尾的内容

\033[s

保存光标位置

\033[u

恢复光标位置

\033[?25l

隐藏光标

\033[?25h

显示光标

字体颜色

控制码

字体效果

\033[30m

黑色

\033[31m

红色

\033[32m

绿色

\033[33m

黄色

\033[34m

蓝色

\033[35m

紫色

\033[36m

浅蓝色

\033[37m

白色

\033[38m


\033[39m


背景颜色

控制码

背景效果

\033[40m

黑色

\033[41m

红色

\033[42m

绿色

\033[43m

黄色

\033[44m

蓝色

\033[45m

紫色

\033[46m

浅蓝色

\033[47m

白色

\033[48m


\033[49m


代码效果

C语言代码

#include <stdio.h>

int main()
{
	printf("以下是测试文字:\n");
	printf("\033[0m默认文字\033[0m\n");
	printf("\033[1m高亮文字\033[0m\n");
	printf("\033[2m低亮文字\033[0m\n");
	//printf("\033[3m无效文字\033[0m\n");
	printf("\033[4m下划线文字\033[0m\n");
	printf("\033[5m闪烁文字(无效)\033[0m\n");
	//printf("\033[6m无效文字\033[0m\n");
	printf("\033[7m反显文字\033[0m\n");
	printf("\033[8m消隐文字(无效)\033[0m\n");

	printf("\n\033[31;1m字体颜色\033[0m测试文字\n");
	printf("\033[30m低亮黑色文字\033[0m\t\033[30;1m高亮黑色文字\033[0m\n");
	printf("\033[31m低亮红色文字\033[0m\t\033[31;1m高亮红色文字\033[0m\n");
	printf("\033[32m低亮绿色文字\033[0m\t\033[32;1m高亮绿色文字\033[0m\n");
	printf("\033[33m低亮黄色文字\033[0m\t\033[33;1m高亮黄色文字\033[0m\n");
	printf("\033[34m低亮蓝色文字\033[0m\t\033[34;1m高亮蓝色文字\033[0m\n");
	printf("\033[35m低亮紫色文字\033[0m\t\033[35;1m高亮紫色文字\033[0m\n");
	printf("\033[36m低亮浅蓝文字\033[0m\t\033[36;1m高亮浅蓝文字\033[0m\n");
	printf("\033[37m低亮白色文字\033[0m\t\033[37;1m高亮白色文字\033[0m\n");
	//printf("\033[38m测试文字\033[0m\n");
	//printf("\033[39m测试文字\033[0m\n");

	printf("\n\033[31;1m背景颜色\033[0m测试文字\n");
	printf("\033[40m低亮文字黑色背景\033[0m\t\033[40;1m高亮文字黑色背景\033[0m\n");
	printf("\033[41m低亮文字红色背景\033[0m\t\033[41;1m高亮文字红色背景\033[0m\n");
	printf("\033[42m低亮文字绿色背景\033[0m\t\033[42;1m高亮文字绿色背景\033[0m\n");
	printf("\033[43m低亮文字黄色背景\033[0m\t\033[43;1m高亮文字黄色背景\033[0m\n");
	printf("\033[44m低亮文字蓝色背景\033[0m\t\033[44;1m高亮文字蓝色背景\033[0m\n");
	printf("\033[45m低亮文字紫色背景\033[0m\t\033[45;1m高亮文字紫色背景\033[0m\n");
	printf("\033[46m低亮文字浅蓝背景\033[0m\t\033[46;1m高亮文字浅蓝背景\033[0m\n");
	printf("\033[47m低亮文字白色背景\033[0m\t\033[47;1m高亮文字白色背景\033[0m\n");
	//printf("\033[48m测试文字\033[0m\n");
	//printf("\033[49m测试文字\033[0m\n");

	return 0;
}

运行效果:

改变指定字符颜色 ios 怎么更改字符颜色_c语言