Windows DatabaseebooksStatistical Information

LLE10227 : QTextStream does not print when wanted. The output comes later than expected!

Symptom:

You use q QTextStream for writing output on the console. QTextStream is connected to stdout.

Cause:

none

Solution:

A QTextStream steam is buffered and this can lead to the above problem. The text you write to the stream is waiting to be written to the device. To do this at once you can use two techniques.

1. You can use the flush() function. This will fluch all the buffered data and write it to the stream.
2. You can use the "<< endl" which will implicitly call the flush function.

Please note that "\n" is not the same as "endl". "\n" will not call the flush routine. Also note that in earlier version of Qt did not have this feature. It has been ficed so it reacts al in the STL. (= standard template libraries)

So
<< endl
 is equivalent to
<< "\n" << qout.flush();

In this case qout is defined as QTextStream qout(stdout).

Disclaimer:

The information provided in this document is intended for your information only. Lubby makes no claims to the validity of this information. Use of this information is at own risk!
Copyright © 2004-2011 Lubby (V3.0.10 Aug 2011)
Sponsored by Keskon.
Statistical information by Google Analytics