Autore: Fabio Di Matteo
Ultima revisione: 17/03/2017 - 10:16
In questo articolo vedremo come prelevare il valore percentuale dei file scaricari con curl:
#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> int main(int argc, char** argv) { int progress=0; FILE *fd; char line[1024]={0,}; system("echo 0 >progress.txt"); //creo il file progress.txt system("curl --libcurl libcurl.txt --stderr progress.txt -O --stderr progress.txt -O https://www.freemedialab.org/listing/stupid-backup/stupid-backup.exe &"); fd = fopen("progress.txt", "r"); while(progress<100) { if (fd) { // scorro il file fino alla fine (prendo l'ultima riga) // e metto la riga in line while(fgets(line, 1024, fd)!=NULL) { } //Prelevo dall'ultima riga il valore dell'avanzamento del download if (sscanf(line, "%*[^0-9]%d", &progress) ) { printf( "Progress: %d\% \n ", progress); } } } fclose(fd); printf("Download terminato\n"); return 0; }