进度条的实现:
需要用到缓冲区的知识。
先上代码:
/*************************************************************************
> Copyright (C) 2015-2050 Smart All rights reserved
> File Name: process.c
> Author: Smart
> Mail: Smart_Coder@163.com
> Created Time: 2015-5-14
************************************************************************/
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define _SIZE_ 103
void proccess()
{
int i=1;
char str[_SIZE_];
memset(str,' ',sizeof(str));
str[_SIZE_-1]='\0';
str[_SIZE_-2]=']';
str[0]='[';
while(i<=100)
{
str[i]='#';
printf("%s[%d%%%c]\r",str,i,"-\\|/\0"[i%4]);
fflush(stdout);
i++;
Sleep(100);
}
printf("\n");
}
int main()
{
proccess();
return 0;
}
运行结果:
注意,经本人测试,需要将cmd的窗口大小调整到宽度至少110才能看到进度条正常输出结果。否则会有问题。方法:在cmd标题栏右击鼠标,选择属性,然后点击“布局”选项卡,将窗口大小中的宽度栏改为至少110.如图: