C语言实现类似wget的进度条效果


本文向大家介绍C语言实现类似wget的进度条效果,包括了C语言实现类似wget的进度条效果的使用技巧和注意事项,需要的朋友参考一下

本文主要是类似wget的进度条的实现,实际就是转移符\r的使用,\r的作用是返回至行首而不换行


#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

//类似wget的进度条的实现,实际就是转移符\r的使用,\r的作用是返回至行首而不换行

int main(int argc, char *argv[])

{

    unsigned len = 60;

    char *bar = (char *)malloc(sizeof(char) * (len + 1));

    for (int i = 0; i < len + 1; ++i)

    {

        bar[i] = '#';

    }

    for (int i = 0; i < len; ++i)

    {

        printf("progress:[%s]%d%%\r", bar+len-i, i+1);

        fflush(stdout);//一定要fflush,否则不会会因为缓冲无法定时输出。

        usleep(100000);

        //sleep(1);

    }

    printf("\n");

    return 0;

}

以上就是本文的全部内容了,希望大家能够喜欢。