Wyjście niebuforowane z cout

Jak można uzyskać niebuforowane wyjście z cout, aby natychmiast zapisywało je na konsoli bez konieczności opróżniania (podobnie jak cerr)?

Myślałem, że można to zrobić za pomocą rdbuf () -> pubsetbuf, ale to nie działa. Poniższy fragment kodu powinien natychmiast wysłać do konsoli, a następnie poczekać kilka sekund. Zamiast tego po prostu czeka i wysyła tylko wtedy, gdy program kończy działanie i bufor jest opróżniany.

#include <iostream>

int main()
{
        std::cout.rdbuf()->pubsetbuf(0, 0);
        std::cout << "A";
        sleep(5);
}

questionAnswers(1)

yourAnswerToTheQuestion