В данной заметке показан путь выводить на консоль *nix систем прогресс выполнения какой-либо задачи. Реализация годится лишь для чисел от 1 до 100, однако, идея может быть применена гораздо шире...
#include <stdio.h>
#include <time.h>
int main(void)
{
struct timespec tc0, tc1;
tc0.tv_sec = 0;
tc0.tv_nsec = 100000000;
printf("Completed: ");
for (int i = 0; i != 100; ++i)
{
if (i > 0 && i < 10)
printf("\b");
if (i > 9 && i < 100)
printf("\b\b");
printf("%d", i+1);
fflush(stdout);
/* Эмуляция какой-то работы */
nanosleep(&tc0, &tc1);
}
printf("\n");
}