basic_ostream& flush(); |
Writes uncommitted changes to the underlying output sequence.
If rdbuf() is a null pointer, does nothing.
Otherwise, behaves as an UnformattedOutputFunction (since C++11). After constructing and checking the sentry object, calls rdbuf()->pubsync()
. If the call returns -1
, calls setstate(badbit)
.
(none).
*this
.
May throw std::ios_base::failure
if exceptions()&badbit!=0
.
#include <thread> #include <iostream> #include <chrono> void f() { std::cout << "Output from thread..."; std::this_thread::sleep_for(std::chrono::seconds(2)); std::cout << "...thread calls flush()\n"; std::cout.flush(); } int main() { std::thread t1(f); std::this_thread::sleep_for(std::chrono::seconds(1)); std::clog << "Output from main\n"; t1.join(); }
Output:
Output from main Output from thread.....thread calls flush()
synchronizes with the underlying storage device (public member function of std::basic_istream ) |
|
flushes the output stream (function template) |
|
outputs '\n' and flushes the output stream (function template) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/io/basic_ostream/flush