How to stop C++ console application from exiting immediately?
The solution by James works for all Platforms.
Alternatively on Windows
you can also add the following just before you return from main
function:
system("pause");
This will run the pause
command which waits till you press a key and also displays a nice message Press any key to continue . . .
If you are using Visual Studio and you are starting the console application out of the IDE:
pressing CTRL-F5 (start without debugging) will start the application and keep the console window open until you press any key.
Edit: As Charles Bailey rightly points out in a comment below, this won't work if there are characters buffered in stdin
, and there's really no good way to work around that. If you're running with a debugger attached, John Dibling's suggested solution is probably the cleanest solution to your problem.
That said, I'll leave this here and maybe someone else will find it useful. I've used it a lot as a quick hack of sorts when writing tests during development.
At the end of your main
function, you can call std::getchar();
This will get a single character from stdin
, thus giving you the "press any key to continue" sort of behavior (if you actually want a "press any key" message, you'll have to print one yourself).
You need to #include <cstdio>
for getchar
.