【发布时间】:2014-01-06 09:48:48
【问题描述】:
许多命令行工具都实现了基于文本的进度条。喜欢rpm安装:
安装##############[45%]
# 随百分比增长,同时保持在一行。我想要的是类似的东西:我需要一个只占用一行的进度指示器,也就是说,当百分比增长时,它被覆盖,而不是换行(\n)。
我试过了:
#include <stdio.h>
int main (){
int i = 0;
for (i = 0; i < 10000; i++){
printf("\rIn progress %d", i/100);
}
printf("\n");
}
\r 用于覆盖单行。但是,\r 将光标移至行首,printf 将光标移至行尾,导致光标快速摆动。大家稍微编译一下就可以感受到了。任何人都可以想出替代方案来避免这个问题吗?
【问题讨论】: