Progressbar es una clase C (es una convención, maldita sea para mostrar barras de progreso atractivas en la línea de comandos. Está fuertemente influenciado por la gema de barra de progreso de Ruby, cuya API y comportamiento imita.
ProgressBar se implementa en C99 puro, pero utilizando una convención vagamente orientada a objetos.
Ejemplo de uso:
progressbar * progress = progressbar_new ( "Loading" , 100 );
for ( int i = 0 ; i < 100 ; i ++ )
{
// Do some stuff
progressbar_inc ( progress );
}
progressbar_finish ( progress ); Ejemplo de salida (de progressbar_demo.c ):

Se pueden encontrar ejemplos adicionales en test/progressbar_demo.c
Una de las cosas que más extraño cuando escribo C en lugar de Ruby es lo ridículamente fácil que es escribir aplicaciones CLI informativas e informativas en Ruby. Una gran parte de eso, al menos para mí, es la joya de barra de progreso, y dado que la mayoría de las veces cuando escribo C, lo hago porque necesito una herramienta para manejar una tarea de larga duración e intensiva en procesadores, realmente me gustaría tener una forma de ver de manera que quede tiempo y cuánto lo hemos obtenido. ¡Entra ProgressBar!
Por supuesto, si estás tan inclinado. ProgressBar tiene licencia bajo una licencia BSD simplificada, así que no dude en llevarlo y ejecutarlo. Los detalles se pueden encontrar en el archivo LICENSE .
Si ProgressBar no se construye porque termcap.h no se encuentra, probablemente te falta las bibliotecas de desarrollo de 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.