打印属性控制
printf是c语言中常用的打印函数,可以使用转义符\加上033对打印的字体进行属性控制,如下
#include <stdio.h>
int main(int argc, char const *argv[])
{
int q,p;
printf("\033[31;5m hello \033[0m\n"); //打印红色闪烁字体的 hello
return 0;
}
/*
那些 ascii code 是对颜色调用的始末.
\033[ ; m …… \033[0m
字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
字颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
===============================================ANSI 控制码的说明
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
*/
给printf增加属性31和5,对应的是字体红色和闪烁,那么打印出来的内容就是闪烁的红色字体,如下图
需要注意的是,设置了属性要及时的使用0m关闭属性,不然后面所有的输出内容都会按照设置的属性去显示。
格式控制%*
printf可以对打印的内容进行格式控制,例如%3d 是右对齐,不够 3 位左补空格,%-3d 则是左对齐,右补空格,%.3f 是精 确到小数点后三位,%*d 的*是泛整数可以填一个数字,例如 printf(“%*d”,3,5),这 和 printf(“%3d”,5)是一样的,还可以 printf(“%*.*f”,fun1(),fun2(),fun3()); 用于智能格式控制。
关于他的打印占位符和返回值
%u:无符号型
%d:打印整形(%ld:长整形,%lld:长长整形)
%f:浮点型(%lf:双精度浮点型)
%c:字符型
%s:字符串类型
%p:指针类型
%x:16 进制
%o:8 进制
返回值:
printf 的返回值是一个整数类型,为打印的字符个数。