ProgressBar-это C-класс (это конвенция, черт возьми) для отображения привлекательных стержней прогресса в командной строке. На него сильно влияет драгоценный камень Ruby Progressbar, чей API и поведение он подражает.
ProgressBar реализован в Pure C99, но с использованием смутно объектно-ориентированного соглашения.
Пример использования:
progressbar * progress = progressbar_new ( "Loading" , 100 );
for ( int i = 0 ; i < 100 ; i ++ )
{
// Do some stuff
progressbar_inc ( progress );
}
progressbar_finish ( progress ); Пример вывода (от progressbar_demo.c ):

Дополнительные примеры можно найти в test/progressbar_demo.c
Одна из вещей, которые мне больше всего скучаю, когда я пишу C вместо Ruby,-это то, насколько смехотворно легко написать удобные, информативные приложения CLI в Ruby. Большая часть этого, по крайней мере, для меня,-это драгоценный камень ProgressBar-и, поскольку большую часть времени, когда я пишу C, я делаю это, потому что мне нужен инструмент для выполнения некоторого долгосрочного, интенсивного процессорного задания, я бы очень хотел увидеть способ увидеть, сколько времени осталось и как далеко. Введите ProgressBar!
Конечно, если вы так склонны. ProgressBar лицензирован по упрощенной лицензии BSD, поэтому не стесняйтесь взять его и запустить с ней. Подробности можно найти в файле LICENSE .
Если ProgressBar не может построить, потому что termcap.h не найден, вы, вероятно, упускаете библиотеки DEAV 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.