Почему std::cout и printf() не печатаются между задержками usleep()?

У меня есть программа, которая должна напечатать "Привет, мир!" в медленно прокручиваемом тексте. Я использую библиотеку unistd.h для функции usleep(), и я использую std::cout для печати символов в стандартный вывод:

    #include <iostream> 
    #include <stdio.h>   
    #include <unistd.h>
    char hello[13]={'H','e','l','l','o',',',' ','W','o','r','l','d'};

    int main (){
         for(int i=0; i<14; i++){
              std::cout<<hello[i]; //it prints the entire string after
              usleep(100000);      //100000 ms, but it should print a char after
              }                    //every 100 ms.
    }

1 ответ

Решение

Вам может потребоваться очистить поток вывода.

Другие вопросы по тегам