What is meant by 'flushing the stream'?

Anshuman Singh picture Anshuman Singh · Jun 30, 2017 · Viewed 11.3k times · Source

I've read that '\n' is preferred over 'endl' for new line in c++ because 'endl' inserts new line and flushes the stream. Please tell me what is flushing the stream ?

Answer

hardillb picture hardillb · Jun 30, 2017

Flushing a stream ensures that all data that has been written to that stream is output, including clearing any that may have been buffered.

Some streams are buffered to aid performance, e.g. a stream writing to disk may buffer until the content reaches a block size.