前言
本文介绍了如何使用C语言标准函数进行字符的有色打印,以及实现一些特殊的输出。
一、一般使用
在C语言中,printf常用来进行标准化格式输出,其作用是将字符串打印到屏幕上面,其中可以使用占位符、转义符来对字符串进行格式化设置。
举例
打印一个字符串5遍,“Hello world,x”,x随着次数而变化。
运行结果
二、彩色打印和特殊格式打印属性代码
在上面的案例printf只有一种颜色,要想设定彩色,就要使用printf的控制命令
在C语言中,printf定义了三类控制命令
1)通用格式命令
属性代码 | 作用 | 属性代码 | 作用 |
0 | 重置属性 | 5 | 闪烁 |
1 | 高亮/加粗 | 7 | 反转 |
2 | 暗淡 | 8 | 隐藏 |
4 | 下划线 |
2)字体颜色
属性代码 | 颜色 | 属性代码 | 颜色 |
30 | 黑色 | 34 | 蓝色 |
31 | 红色 | 35 | 品红色 |
32 | 绿色 | 36 | 青色 |
33 | 黄色 |
3)背景色
属性代码 | 颜色 | 属性代码 | 颜色 |
40 | 黑色 | 44 | 蓝色 |
41 | 红色 | 45 | 品红色 |
42 | 绿色 | 46 | 青色 |
43 | 黄色 |
三、使用方法
使用格式
printf("\033[0m \033[属性代码1;属性代码2;属性代码3...m字符串,\033[0m",占位符填充变量);
举例:想要打印黄底红字加粗会闪烁的Hello world,x.
#include <stdio.h>
int main()
{
printf("\033[0m\033[43;31;1;5mHello world\033[0m\n");
return 0;
}
也可以搭配多个属性代码进行一次性输出多种格式的字符串,因为设置属性的时候是如果有新属性就进行覆盖,否则就沿用原来的属性代码,所以world也会闪烁。
#include<stdio.h>
int main()
{
printf("\033[0m\033[43;31;1;5mHello\033[45;34mworld\n\033[0m");
printf("haha\n");
return 0;
}
特别提醒
在使用完属性代码进行输出后,一定要用\033[0m重置一下,否则会影响到后续的输出。
#include <stdio.h>
int main()
{
printf("\033[0m\033[43;31;1;5mHello world\n");
printf("haha\n");
return 0;
}