Я использую C в Linux.Как мне показать индикатор прогресса, который сообщит мне, когда программа (или части программы) будет завершена?Например, это может быть что-то вроде «Поиск ... 67%», и процент будет продолжать расти до тех пор, пока не закончится поиск.
Спасибо.
Записать символ '\r' в стандартный вывод, чтобы вернуть курсор в начало строки, чтобы вы могли перезаписать строку. Например:
'\r'
for (i=0; i<100; i++) { printf("\rSearching...%d%%", i); fflush(stdout); sleep(1); }
Я верю, если вы сделаете что-то вроде:
while (perc < 100) { printf("Searching... %d%%\r", perc); fflush(stdout); //do work }
fflush() необходимо, чтобы избежать буферизации строки. Обратите внимание, что я использую \r, а не \n.
fflush()
\r
\n