Yeah, this conversation probably got dragged out a bit.

As for me abusing the pause function, well yes, yes I am, but the point is that no function should work "As long as you don't call it too much".

And yes, maybe the implementation of the pause function is not optimal, but I'd be willing to bet you'll never be able to find a stream-based implementation I can't break!

As a matter of fact, imagine a program that reads from cin and pauses every time it reads "hello". Run that program feeding it a file as input.

My gripe is that people say "Don't use system("pause"), it's bad" but there is no real portable equivalent. I think the "best" implementation for pause is the one that has a different implementation per system.