Namespaces
Variants

std::basic_ostream<CharT,Traits>:: flush

From cppreference.net
basic_ostream & flush ( ) ;

Schreibt unbestätigte Änderungen in die zugrundeliegende Ausgabesequenz. Verhält sich wie eine UnformattedOutputFunction .

Wenn rdbuf() ein null-Zeiger ist, wird das Sentry-Objekt nicht konstruiert.

Andernfalls, nach dem Konstruieren und Überprüfen des Sentry-Objekts, ruft es rdbuf ( ) - > pubsync ( ) . Wenn der Aufruf - 1 zurückgibt, ruft es setstate ( badbit ) auf.

Inhaltsverzeichnis

Rückgabewert

* this

Ausnahmen

Kann std::ios_base::failure werfen, falls ( exceptions ( ) & badbit ) ! = 0 .

Beispiel

#include <chrono>
#include <iostream>
#include <thread>
using namespace std::chrono_literals;
void f()
{
    std::cout << "Output from thread... ";
    for (int i{1}; i != 10; ++i)
    {
        std::this_thread::sleep_for(250ms);
        std::cout << i << ' ';
        // output three numbers at once;
        // the effect is observable only in real-time
        if (0 == (i % 3))
            std::cout.flush();
    }
    std::cout << std::endl; // flushes as well
}
int main()
{
    std::thread tr{f};
    std::this_thread::sleep_for(150ms);
    std::clog << "Output from main\n";
    tr.join();
}

Ausgabe:

Output from main
Output from thread... 1 2 3 4 5 6 7 8 9

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 581 C++98 flush() verhielt sich nicht wie eine UnformattedOutputFunction
aufgrund der Lösung von LWG issue 60
verhält sich wie eine
UnformattedOutputFunction

Siehe auch

ruft sync ( ) auf
(öffentliche Elementfunktion von std::basic_streambuf<CharT,Traits> )
[virtual]
synchronisiert die Puffer mit der zugehörigen Zeichensequenz
(virtuelle geschützte Elementfunktion von std::basic_streambuf<CharT,Traits> )
leert den Ausgabestrom
(Funktions-Template)
gibt ' \n ' aus und leert den Ausgabestrom
(Funktions-Template)
synchronisiert mit dem zugrundeliegenden Speichergerät
(öffentliche Elementfunktion von std::basic_istream<CharT,Traits> )