在Linux下用C语言实现简单的进度条

来源:互联网 发布:上海和数软件 编辑:程序博客网 时间:2024/05/22 10:44

相信我们在平时使用电脑进行下载文件的同时都会看到一个进度条,提示我们文件下载的进度,所以呢我们来自己实现一个简单的进度条:
首先我们来看一个生活中的进度条:
这里写图片描述
通过观察我们选择用以下方式来实现一个简单进度条:
1.依次打印‘#’;
2.后面标注百分比;

代码如下:

#include<stdio.h>#include<unistd.h>int main(){    int i = 0;    char bar[120];    const char *lable = "|/-\\";    while (i <= 100)    {        printf("[%-100s][%d%%][%c]", bar, i, lable[i % 4]);        fflush(stdout);        bar[i] = '#';        i++;        bar[i] = 0;        usleep(100000);    }    printf("\n");    return 0;}

运行结果:
这里写图片描述
这里写图片描述
备注:
fflush:
功能:清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件。
fflush 的返回值类型是int类型。如果成功刷新,fflush返回0。指定的流没有缓冲区或者只读打开时也返回0值。返回EOF指出一个错误。
fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃[非标准];
fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上;
printf(“。。。。。。。。。。。”);后面加fflush(stdout);可提高打印效率。

0 0
原创粉丝点击