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; }