O ProgressBar é uma classe C (é uma convenção, caramba) para exibir barras de progresso atraentes na linha de comando. É fortemente influenciado pela jóia do Ruby Progressbar, cuja API e comportamento ele imita.
A barra de progresso é implementada no C99 puro, mas usando uma convenção vagamente orientada a objetos.
Exemplo de uso:
progressbar * progress = progressbar_new ( "Loading" , 100 );
for ( int i = 0 ; i < 100 ; i ++ )
{
// Do some stuff
progressbar_inc ( progress );
}
progressbar_finish ( progress ); Exemplo de saída (de progressbar_demo.c ):

Exemplos adicionais podem ser encontrados no test/progressbar_demo.c
Uma das coisas que mais sinto falta quando estou escrevendo C em vez de Ruby é o quão ridiculamente fácil é escrever aplicativos de CLI informativos e fáceis de usar em Ruby. Grande parte disso, pelo menos para mim, é a jóia da barra de progresso-e desde a maior parte do tempo em que estou escrevendo c, porque preciso de uma ferramenta para lidar com uma tarefa de longa data e intensiva em processador, eu realmente gostaria de ter uma maneira de ver de relance quanto tempo permanece e o tempo que chegamos. Digite ProgressBar!
Claro, se você é tão inclinado. O ProgressBar é licenciado sob uma licença BSD simplificada, portanto, fique à vontade para levá -la e executá -la. Os detalhes podem ser encontrados no arquivo LICENSE .
Se o ProgressBar não conseguir construir porque termcap.h não é encontrado, você provavelmente está perdendo as bibliotecas de dev Ncurses.
gcc -c -std=c99 -Iinclude lib/progressbar.c
lib/progressbar.c:13:45: fatal error: termcap.h: No such file or directory
compilation terminated.