Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | io‎ | basic ostream
 
 
 
 
basic_ostream& flush();

Schreibt nicht übertragene Änderungen in die zugrundeliegende Ausgabesequenz. Verhält sich wie eine UnformattedOutputFunction.

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

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

Inhalt

[edit] Rückgabewert

*this

[edit] Ausnahmen

Kann std::ios_base::failure auslösen, wenn (exceptions() & badbit) != 0.

[edit] 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

[edit] Fehlerberichte

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

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 581 C++98 flush() verhielt sich nicht wie eine UnformattedOutputFunction
verhielt sich als
verhält sich wie eine
UnformattedOutputFunction

[edit] Siehe auch

ruft sync() auf
(öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
[virtuell]
synchronisiert die Puffer mit der zugeordneten Zeichensequenz
(virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) [bearbeiten]
Spült den Ausgabestrom
(Funktion-Template) [bearbeiten]
Gibt '\n' aus und spült den Ausgabestrom
(Funktion-Template) [bearbeiten]
synchronisiert mit dem zugrunde liegenden Speichermedium
(public member function of std::basic_istream<CharT,Traits>) [edit]