CURL下载文件简易进度条

背景

curl下载文件比较方便,sample里的进度打印比较鸡肋,网上搜了一下C打印进度条,随便改改,就ok了,代码贴起来!

curl 回调函数进度打印输出

int download_progress(char *progress_data,
                            double t, /* dltotal */
                            double d, /* dlnow */
                            double ultotal,
                            double ulnow){
    static char bar[120];
    const char *lable = "|/-\\";
    int i = 0;
	if(t){
		i = d*100.0/t;
	}
    printf("%s [%-100s][%d%%][%c]\r", progress_data, bar, i, lable[i % 4]);
    //fflush(stdout);
    bar[i] = '>';
    i++;
    bar[i] = 0;
    return 0;  
}

curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, download_progress);

效果

在这里插入图片描述


创作不易,欢迎点赞和关注,转载请注明出处!!!
更多精彩内容,欢迎访问一只海星的主页

你可能感兴趣的:(Linux)