Ungepufferte Ausgabe mit cout

Wie können Sie eine ungepufferte Ausgabe von cout erhalten, so dass diese sofort in die Konsole geschrieben wird, ohne dass eine Leerung erforderlich ist (ähnlich wie bei cerr)?

Ich dachte, es könnte durch rdbuf () -> pubsetbuf gemacht werden, aber das scheint nicht zu funktionieren. Der folgende Codeausschnitt soll sofort auf der Konsole ausgegeben werden und dann einige Sekunden warten. Stattdessen wird nur gewartet und nur ausgegeben, wenn das Programm beendet und der Puffer geleert wird.

#include <iostream>

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage