在某些基于 Linux 的操作系统(如 Ubuntu)中,您可以使用 apt-get
命令在终端内从互联网下载。当您下载某些内容时,它会以百分比形式显示包的下载量。此百分比会随着包的下载而变化。我怎样才能使 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
。中间的数字均未显示。这是为什么?
最佳答案
好吧,在每个 printf 之后添加一个 fflush(stdout) 以强制刷新
关于C 回车 : Changing Output Like apt-get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24732285/