function
std::flush
<ostream>
ostream& flush ( ostream& os );
Flush stream buffer
Synchronizes the buffer associated with the stream to its controlled output sequence. This effectively means that all unwritten characters in the buffer are written to its controlled output sequence as soon as possible ("flushed").
The manipulator only has meaning for buffered streams, in which case it effectively calls the
pubsync member of the
streambuf object (
rdbuf()->pubsync()) associated to the stream.
Standard output streams also have a member function with the same name and behavior (see
ostream::flush).
Parameters
- os
- Output stream on which the insertion is performed.
Because this function is designed as a manipulator, it can be used directly with no arguments in conjunction with the insertion operator (<<) on output streams (see example).
Return Value
The same stream object on which the operation was performed (parameter
os).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// Flushing files (flush manipulator)
#include <fstream>
using namespace std;
int main () {
ofstream outfile ("test.txt");
for (int n=0; n<100; n++)
outfile << n << flush;
outfile.close();
return 0;
}
|
When this code is executed the content of the file
test.txt is updated 100 times.
Basic template declaration
1 2
|
template <class charT, class traits>
basic_ostream<charT,traits>& flush ( basic_ostream<charT,traits>& os );
|
See also
- endl
- Insert newline and flush (function)
- ostream::flush
- Flush output stream buffer (public member function)