在某些基于Linux的操作系统(如Ubuntu)中,您可以使用apt-get
命令从终端内的Internet下载。当您下载某些内容时,它会显示已下载的软件包百分比。此百分比随着包的下载而变化。如何使C程序以类似的方式运行?这是我的代码
#include <stdio.h>
#include <unistd.h>
int main(){
int i = 0;
for (; i < 10; i++){
printf("\rCalculating...%d%%",i);
usleep(500000);
}
printf("\n");
return 0;
}
我使用gcc
来编译它,但不是像我预期的那样在输出中获得Calculating...1%
,Calculating...2%
等,而是没有出现任何内容。几秒钟后,唯一的输出是Calculating...9%\n
。中间没有显示数字。这是为什么?
答案 0 :(得分:2)
好吧,在每个fprintf之后添加一个fflush(stdout)来强制闪烁
答案 1 :(得分:0)
Calculating...0%
Calculating...1%
Calculating...2%
Calculating...3%
Calculating...4%
Calculating...5%
Calculating...6%
Calculating...7%
Calculating...8%
Calculating...9%
所以应该是这样......当我有时间的时候,我会试着调查一下