进度条的实现

当我们加载一些东西或者下载文件的时候就会出现一个叫进度条的东西

下面我们就来看看如何实现进度条


首先我们要知道,进度条里面是有字符的,就像一个数组一样,我们每次打印数组里面一个元素,不换行,当打印出来一百个的时候我们就可以打印结束,进度条就满了。那么具体如何实现呢,请看下面的代码:

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
    int i=0;
    char buf[102]="#";
    for(;i<100;i++)
  {
    buf[i]='#';
    printf("[%s]\r",buf);
    fflush(stdout);
    usleep(100000);
  }
  printf("\n");
}

我们%s后面的 \r 是为了一直在一行里显示,我们的fflush 就是为了刷新数据让它又重新输出下一个数组元素,而usleep就是为了给我们规定一个显示间隙。但是这样的进度条是存在缺陷的。

打印出来我们可以看到:


现在我们可以看到就是一堆字符的显示,但是我们平时看到的进度条人家都是有百分之进度的,而且在百分进度后面还有一个显示符号在转圈,说明正在加载中 ,是不是很有意思,接下来我们看看如何变成想要的那样:

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
   int i=0;
   char buf[102]="#";
   char sym[]="|/-\\";
   for(;i<=100;i++)
   {
     buf[i]='#';
     printf("[%-100s][%d%%][%c]\r",buf,i,sym[i%4]);
     fflush(stdout);
     usleep(100000);
     }
     printf("\n");
 }

这样我们就可以看见



这样我们就实现了进度条的模拟实现!nice

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值