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
Führen Sie diesen Code aus
#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 UnformattedOutputFunctionverhielt sich als |
verhält sich wie eine UnformattedOutputFunction |
[edit] Siehe auch
| ruft sync() auf (öffentliche Member-Funktion von std::basic_streambuf<CharT,Traits>) | |
| [virtuell] |
synchronisiert die Puffer mit der zugeordneten Zeichensequenz (virtuelle geschützte Member-Funktion von std::basic_streambuf<CharT,Traits>) |
| Spült den Ausgabestrom (Funktion-Template) | |
| Gibt '\n' aus und spült den Ausgabestrom (Funktion-Template) | |
| synchronisiert mit dem zugrunde liegenden Speichermedium (public member function of std::basic_istream<CharT,Traits>) |