【C语言】C语言基础——printf带颜格式化输出(Linux)

例子:

//输出红色的hello world!
#include <stdio.h>
int main() {
    printf("\033[31mhello world!\033[0m");
    return 0
}

root@localhost % hello world! 


ASCII编码中的八进制数字033代表ESC,这是非打印字符,属于控制字符。ASCII码表对他的解释是——换码(溢出),其实这是一个屏幕控制码,是由ASCII码驱动支持的一系列用来控制终端的控制码,如:控制显示颜色、闪烁、发出声音等。(Linux下的GNU和Bash支持用\e代替\033)

格式:

printf("\033[属性1;属性2;属性3m;有颜色的输出");

 控制码如下:

\033[0m   清除所有格式(结束格式,如果格式范围结束,需要在结束为止添加此控制码来结束上一个格式,否则后续终端输入或输出都会沿用此格式)

\033[1m   设置文字颜色亮度,变亮

\033[2m   设置文字颜色亮度,变暗

\033[3m   斜体

\033[4m   下划线  

\033[5m   闪烁(有些系统并不支持)

\033[7m   反显  

\033[8m   隐藏字符  

\033[9m   删除线  

\033[nA   光标上移n行  

\033[nB   光标下移n行  

\033[nC   光标右移n行  

\033[nD   光标左移n行  

\033[y;xH 设置光标位置  

\033[2J   清屏  

\033[K   清除从光标到行尾的内容  

\033[s   保存光标位置  

\033[u   恢复光标位置  

\033[?25l   隐藏光标  

\033[?25h   显示光标

\033[2J\033[0;0H  清屏且将光标置顶(相当于shell的clear操作)

 其中颜色格式是由两个数字表示

\033[30m ~ \033[37m 设置前景色

\033[40m ~ \033[47m 设置背景色

颜色代码:

30 黑色字体    40 黑色背景

31 红色字体    41 红色背景

32 绿色字体    42 绿色背景

33 黄色字体    43 黄色背景

34 蓝色字体    44 蓝色背景

35 紫色字体    45 紫色背景

36 青色字体    46 青色背景

37 白色字体    47 白色背景

#include <stdio.h>
int main(){
    printf("原色\n");
    printf("\033[31m红色\033[0m\t");
    printf("\033[41m红底\033[0m\n");
    printf("\033[32m绿色\033[0m\t");
    printf("\033[42m绿底\033[0m\n");
    printf("\033[33m黄色\033[0m\t");
    printf("\033[43m黄底\033[0m\n");
    printf("\033[34m蓝色\033[0m\t");
    printf("\033[44m蓝底\033[0m\n");
    printf("\033[35m紫色\033[0m\t");
    printf("\033[45m紫底\033[0m\n");
    printf("\033[36m青色\033[0m\t");
    printf("\033[46m青底\033[0m\n");
    printf("\033[37m白色\033[0m\t");
    printf("\033[47m白色\033[0m\n");
	return 0;
}

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值