本文實例為大家分享了Linux下寫一個簡單進度條的具體代碼,供大家參考,具體內容如下
首先建立一個新的文件,touch progress_bar.c 執行該vim progress_bar.c命令,寫進度條的程序。寫進一個進度條程序:
#include<stdio.h>#include<unistd.h>#include<string.h>void progress(){ int i = 0; char bar[102]; memset(bar,0,102*sizeof(char)); const char* lable="|/-//"; while(i <= 100) { bar[i] = '#'; printf("[%-101s] [%d%%] [%c]",bar,i,lable[i%4]); fflush(stdout); usleep(100000); i++; } printf("/n");}int main(){ progress(); return 0;}
如圖:
該代碼中需要注意的小細節:
1. const char* lable=”|/-//”; 直接輸入一個/會被系統認為是轉義,所以要輸入//
2. printf(“[%-101s] [%d%%] [%c]”,bar,i,lable[i%4]);這里的%%同上,防止轉義。rate%4防止溢出
3. fflush(stdout); 參數為標準輸出流
4. 因為sleep默認單位為秒,不便于測試,usleep默認單位為微秒
最后,進行調試,建立一個mymakefile文件,touch mymakefile對該文件進行編輯vim mymakefile。
myprogress_bar:progress_bar.c g++ -o myprogress_bar progress_bar.c:PHONY clean clean: rm -f myprogress_bar
如圖所示:
然后執行make命令,對progress_bar.c文件進行編譯,make -f mymakefile,即生成myprogress_bar文件,用./myprogress_bar對他進行執行。若想重新進行編譯,則需要make -f mymakefile clean指令,先對文件progress_bar進行清除,再用make進行編譯。
如圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答