Многие инструменты командной строки реализуют индикатор выполнения на основе текста. Как установка 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
добавляет курсор в конец, что приводит к быстрому махающему курсору. Вы, ребята, можете это почувствовать, составив небольшую сборку. Может ли кто-нибудь придумать альтернативы, чтобы избежать этой проблемы?