前言

我们在平时的服务器运维工作中,要经常安装一些软件,经常会看到下面这种进度条,咱们就用C语言来实现这种进度条。

相关知识

  1. 用fflush函数强行让屏幕刷新。
  2. printf格式控制
  3. stdout即屏幕的文件流

截图

cmd_loading.gif

程序代码包

cmd_loading.zip

相关代码

#include <stdio.h>
#include <string.h>
#include <ctime>
#include <windows.h>        // window下用Sleep
// #include <unistd.h>      // linux下用sleep

void loader(int rate)
{
    char proc[102];
    memset(proc, '\0', sizeof(proc));
    
    for (int i = 0; i < rate; i++)
    {
        proc[i] = '#';
    }
    
    printf("[%-100s] [%d%%]\r", proc, rate);        //C语言格式控制时默认右对齐,所以要在前面加-变成左对齐
    fflush(stdout);                                 //刷新屏幕打印
}

int main()
{
    int i = 0;
    while(i <= 100)    
    {
        loader(i);
        Sleep(200);                                 //以微秒为单位的sleep
        i++;  
    }
    return 0;
}

本文由 管理员 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论