C语言实现进度条

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

 

 

 

 

posted @ 2020-04-19 10:54  OneTrainee  阅读(4016)  评论(0编辑  收藏  举报