Я хочу сделать анимированный значок обработки, выводимый на консоль через C.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
void render_processing_icon(int turnovers_qt) {
char *icon_characters = "|/-\\\0";
for (int i = 0; i < turnovers_qt * 8; i++) {
printf("\b%c", icon_characters[i % 4]);
usleep(500000); // sleep for a half of a second
}
printf("\n");
}
int main(int argc, char *argv[]) {
render_processing_icon(2);
printf("CONTROL MESSAGE\n");
return 0;
}
Но по истечении usleep()
времени (0,5 с * обороты * 8) программа выводит это (без анимации), как вы уже догадались):
$ \
$ CONTROL MESSAGE
sleep()
работает так же, BASH sleep
через sytstem()
тоже.Я просто понятия не имею, в чем проблема.