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 1,029 times
1

CuriousCase
- 745
- 2
- 9
- 22
-
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
- 168,305
- 31
- 280
- 331
-
2And standard output is also flushed when **standard input** is read, which is why `getchar()` works. – MSalters Oct 28 '15 at 13:11