彩色进度条程序
一、基础知识
1、fflush
fflush 的作用是用来刷新缓冲区,将缓冲区的内容输出,清空缓冲区等待下一次写入。
2、\n 及 \r
\n: 换行符,表示的是换行到下一行。
\r: 回车符,表示的是回到这行的起始位置。
3、如何改变颜色
终端的字符颜色由转义序列控制,是文本模式下的系统显示功能,与具体语言无关。
转义序列以控制字符’ESC’开头。多数转义序列超过两个字符,故通常以’ESC’和左括号’[‘开头。该起始序列称为控制序列引导符,通常由’\033[‘或’\e[‘代替。
通过转义序列设置终端显示属性时,可采用以下格式:
\033[ Param {;Param;…}m 或 \e[ Param {;Param;…}m
其中,’\033[‘或’\e[‘引导转义序列;’m’表示设置属性并结束转义序列。Param为属性值,{…}表示可选(多个参数之间用分号隔开,与顺序无关)。
显示序列:
\033[0m 关闭转义序列
\033[1m 粗体或高亮
\033[5m 闪烁
前景颜色序列:
\033[30m 黑
\033[31m 红
\033[32m 绿
\033[33m 黄
\033[34m 蓝
\033[35m 洋红
\033[36m 青
\033[37m 白
具体可以参考这位大考的博客:
通过printf设置Linux终端输出的颜色和显示方式
4、memset函数
memset()函数的作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。
头文件:string.h
语法:void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
5、usleep函数
usleep()函数的功能是把调用该函数的线程挂起一段时间 , 单位是微秒(即百万分之一秒);
头文件: unistd.h
语法: void usleep(int micro_seconds);
在实现过程中我们可以调用usleep()函数来实现每0.1s刷新进度条的现象。