I have a few std::cout statements and few of them do not print output to console till program ends. But it i put getchar(), it starts printing output. Why does it happen, can someone please explain?
Asked
Active
Viewed 915 times
1
CuriousCase
- 747
- 2
- 9
- 21
-
Also see [Unbuffered output with cout](http://stackoverflow.com/questions/1377084/unbuffered-output-with-cout?rq=1) – Bo Persson Oct 28 '15 at 10:15
1 Answers
3
The issue may be because you are not trying to flush your output. You can try like this:
std::cout << "some text" << std::flush;
or like
std::cout << "some text" << std::endl;
The standard output is buffered and on newline the buffer is flushed.
Rahul Tripathi
- 161,154
- 30
- 262
- 319
-
2And standard output is also flushed when **standard input** is read, which is why `getchar()` works. – MSalters Oct 28 '15 at 13:11