ProgressBar est une classe C (c'est une convention, bon sang) pour afficher des barres de progrès attrayantes sur la ligne de commande. Il est fortement influencé par le joyau de la barre de progression de Ruby, dont l'API et le comportement qu'il imite.
ProgressBar est mis en œuvre en C99 pur, mais en utilisant une convention vaguement orientée objet.
Exemple d'utilisation:
progressbar * progress = progressbar_new ( "Loading" , 100 );
for ( int i = 0 ; i < 100 ; i ++ )
{
// Do some stuff
progressbar_inc ( progress );
}
progressbar_finish ( progress ); Exemple de sortie (de progressbar_demo.c ):

Des exemples supplémentaires peuvent être trouvés dans test/progressbar_demo.c
L'une des choses qui me manquent le plus lorsque j'écris C au lieu de Ruby est la façon dont il est ridiculement facile d'écrire des applications CLI informatives conviviales et informatives dans Ruby. Une grande partie de cela, du moins pour moi, est le joyau de la barre de progrès - et comme la plupart du temps, lorsque j'écris C, je le fais parce que j'ai besoin d'un outil pour gérer une tâche de longue durée et à forte intensité de processeur, j'aimerais vraiment avoir un moyen de voir à un coup d'œil combien de temps reste et jusqu'où nous avons devenu. Entrez ProgressBar!
Bien sûr, si vous êtes si enclin. ProgressBar est sous licence sous une licence BSD simplifiée, alors n'hésitez pas à le prendre et à courir avec. Les détails peuvent être trouvés dans le fichier LICENSE .
Si ProgressBar ne parvient pas à construire car termcap.h n'est pas trouvé, il vous manque probablement les bibliothèques de développement 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.