Linux实现进度条

Linux实现简单的进度条功能

进度条,就是我们下载东西时出现的那个%**的那个长条。
那我们该如何去实现它呢?考虑一下,首先有一个逐渐增加的东西,肯定要循环了,然后百分比。但是要怎么一直持续的变化这个百分比呢,就需要用到一个函数 fflush();这个函数就是来刷新缓冲区的。

缓冲方式

  1. 行缓冲 ‘\n’就是行缓冲的标志
  2. 全缓冲 如果把结果输出到文件中就是默认的全缓冲。
    我们要知道,printf函数输出的内容是存在缓冲区的,’\n’(行缓冲)就可以把缓冲区的内容立即输出到输出设备,如果没有’\n’的话,就会一直往缓冲区里面写,知道缓冲区满了,或者调用fflush函数。
    好了,那现在我们就来实现一下他吧!
    这里写图片描述
    最后运行一下看看结果
    这里写图片描述
    好了,这就是我们的进度条了,很有意思吧。
    进度条的配色规则:
    \033[0m 关闭所有属性
    \033也可以换成\e(这个一般是要放在结束的,如上)

    \033[1m 设置高亮度
    \033[4m 下划线
    \033[5m 闪烁
    \033[7m 反显
    \033[8m 消隐
    \033[30m – \033[37m 设置前景色
    \033[40m – \033[47m 设置背景色
    \033[nA 光标上移n行
    \033[nB 光标下移n行
    \033[nC 光标右移n列
    \033[nD 光标左移n列
    \033[y;H 设置光标位置
    \033[2J 清屏
    \033[K 清除从光标到行尾的内容
    \033[s 保存光标位置
    \033[u 恢复光标位置
    \033[?25l 隐藏光标
    \033[?25h 显示光标
    文字背景色彩数字: (颜色范围:40 - 49)
    40: 黑色
    41: 深红色
    42: 绿色
    43: 黄色
    44: 蓝色
    45: 紫色
    46: 深绿色
    47: 白色
    (3). 文字前景色数字: (颜色范围: 30 - 39)
    30: 黑色
    31: 红色
    32: 绿色
    33: 黄色
    34: 蓝色
    35: 紫色
    36: 深绿色
    37: 白色
posted @ 2017-04-07 16:32  chan0311  阅读(663)  评论(0编辑  收藏  举报