ProgressBar عبارة عن فئة C (إنها اتفاقية ، لعام) لعرض أشرطة تقدم جذابة على سطر الأوامر. إنه يتأثر بشدة بجوهرة Ruby ProgressBar ، التي تقليها واجهات برمجة التطبيقات والسلوك.
يتم تنفيذ ProgressBar في 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. جزء كبير من ذلك ، على الأقل بالنسبة لي ، هو GEM ProgressBar-ولأنه في معظم الوقت عندما أكتب C أنا أفعل ذلك لأنني بحاجة إلى أداة للتعامل مع بعض المهمة طويلة الأمد والمعالج ، أود حقًا أن أحصل على طريقة لرؤية لمحة عن مقدار الوقت المتبقي والمدى الذي حصلنا عليه. أدخل ProgressBar!
بالطبع ، إذا كنت مميلًا جدًا. تم ترخيص ProgressBar بموجب ترخيص BSD مبسط ، لذلك لا تتردد في أخذها والركض معها. يمكن العثور على التفاصيل في ملف LICENSE .
إذا فشل ProgressBar في البناء لأنه لم يتم العثور على termcap.h ، فمن المحتمل أنك تفتقد مكتبات Ncurses Dev.
gcc -c -std=c99 -Iinclude lib/progressbar.c
lib/progressbar.c:13:45: fatal error: termcap.h: No such file or directory
compilation terminated.