ProgressBar เป็น C-class (เป็นอนุสัญญา, dammit) สำหรับการแสดงแถบความคืบหน้าที่น่าสนใจบนบรรทัดคำสั่ง มันได้รับอิทธิพลอย่างมากจากอัญมณี Ruby Progressbar ซึ่ง API และพฤติกรรมเลียนแบบ
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 อย่างน้อยก็อย่างน้อยก็สำหรับฉันคืออัญมณี 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.