C語言實現進度條
學觀察者模式時想實現一個進度條通知實例,花了一些時間,記錄下來吧。
#include <stdio.h> #include <iostream> #include <windows.h> void DoProgress(int t, int n) { putchar('['); for (int i = 0; i < n; i++) { putchar(i < t ? '>' : ' '); // 輸出> 或者 ' ' } putchar(']'); printf("%3d%%",(int)((double(t)/n) *100)); // 光標回退,實現刷新 for (int i = 0; i != n + 6; i++) { putchar('\b'); } } int main() { for (int i = 0; i < 100; i++) { DoProgress(i, 100); // 顯示進度條 fflush(stdout); Sleep(1000); // 每次顯示延遲1s } return 0; }