彩色进度条的实现与makefile编译:
- 创建一个process文件,在里面编写实现进度条的代码
1.在编写代码的时候我们首先要区分两个转义字符:
:表示换行,换到下一行,并位于起始位置,并不会覆盖原来的内容。
:表示回车,回到这一行的起始位置,相当于覆盖了之前的内容,不会重启一行。
2.其次了解linux下的 usleep() 函数:
功能:把调用该函数的线程挂起一段时间 , 单位是微秒(即百万分之一秒)
头文件:unistd.h
语法: void usleep(int micro_seconds);
3.函数fflush():
作用:刷新缓冲区——>fflush(stdout);
4.以下是进度条的代码实现:
这里提一下:如果不加 fflush() 函数,则会在一定的时间后一起显示出来,并不会像进度条一样慢慢往前增长。
- 创建一个makefile文件,通过makefile来执行代码
1.左边为目标文件,右边是依赖文件
2.第二行开始先使用 tab 键空开(规定),然后在写入命令
- 检验进度条的实现
- 修改进度条的代码,使进度条成为一个彩色进度条
Linux下printf函数显示不同的颜色
颜色:
#define NONE " 33[0m"
#define RED " 33[0;32;31m"
#define LIGHT_RED " 33[1;31m"
#define GREEN " 33[0;32;32m"
#define LIGHT_GREEN " 33[1;32m"
#define BLUE " 33[0;32;34m"
#define LIGHT_BLUE " 33[1;34m"
#define DARY_GRAY " 33[1;30m"
#define CYAN " 33[0;36m"
#define LIGHT_CYAN " 33[1;36m"
#define PURPLE " 33[0;35m"
#define LIGHT_PURPLE " 33[1;35m"
#define BROWN " 33[0;33m"
#define YELLOW " 33[1;33m"
#define LIGHT_GRAY " 33[0;37m"
#define WHITE " 33[1;37m"
比如:
printf(" 33[31m ####----->> 33[32m" "hello
" " 33[m");
颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
背景色 字体色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种: