#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int progress_bar(int precent)
{
if (precent < 0 || precent > 100)
{
return -1;
}
char str[32];
int bar = sizeof(str) * precent / 100;
memset(str, ' ', sizeof(str));
memset(str, '#', bar);
fprintf(stdout, "%s|%d%%\r", str, precent); //实际就是转移符\r的使用,\r的作用是返回至行首而不换行
fflush(stdout); //一定要fflush,否则不会会因为缓冲无法定时输出。
return 0;
}
int main()
{
int i = 0;
for (i = 0; i <= 100; i++)
{
progress_bar(i);
usleep(100*1000);
}
printf("\n");
return 0;
}
Linux 进度条
最新推荐文章于 2023-07-05 15:51:39 发布