前言
在Linux下安装文件的时候,都会有个进度条来提示我们安装的进度是多少。这里我们模拟输出这个进度条。主要用到输出函数的操作、缓冲区的刷新、usleep函数、linux终端颜色的显示等知识。
效果如下:
铺垫知识点
缓冲区
缓冲区分位三种:无缓冲,行缓冲,全缓冲。
无缓冲:没有缓冲,也就是信息在输入输出的时候,立马输入或输出。典型的代表就是标准错误流stderr。
行缓冲:当输入输出的时候,遇到换行才执行I/O操作。典型的代表是键盘的操作。
全缓冲:当输入输出写满缓冲区才执行I/O操作。典型的代表是磁盘的读写。
由于输出函数是行缓冲类型的。所以我们需要使用缓冲区刷新函数fflush来输出。否则我们看到的进度条将是一段一段输出的。