可能重复:
How to stop C++ console application from exiting immediately?
我正在学习C ++,并且当我想向用户显示一些数据并且有时间阅读它时,无法弄清楚如何停止退出应用程序。我怎么能这样做?
更新:不知怎的,我暂停了应用程序,当用户点击按钮时,它就会退出。
答案 0 :(得分:2)
我假设你在Windows上。
这可能会变成一场长时间的辩论,但人们通常会有两种主要方式:
(推荐)将cin.get();
添加到程序的末尾。这将导致程序停止,直到用户点击进入,然后它将继续并退出。
在程序结束时添加system("PAUSE");
。这将导致您的程序打印类似Press any key to continue. . .
的内容,当您按下某个键时,程序将继续并退出。
PAUSE
命令可能不会这样做,可以订购披萨,发射导弹或其他东西。
这仅适用于Windows,但无论如何你都不需要它。
答案 1 :(得分:1)
std::cout << "Press enter to exit" << std::endl;
cin.get();
exit(1);
答案 2 :(得分:0)
如果要在用户按下某个键之前暂停程序,可以使用cin.get()
。但实际上,程序应该在它完成时终止。否则,它在管道等方面毫无用处。
如果你的程序窗口在完成后就会消失,那么你启动它的方式就出了问题。程序完成时窗口是否停留取决于启动程序并设置窗口而不是程序。此问题通常是从GUI启动CLI程序引起的。如果要从GUI启动,请编写GUI程序。否则,从终端启动终端程序。
不要使用system("pause");
。它使您的程序无法移植。如果您在pause
命令执行的操作不是您想要的系统上运行它,那么您手上可能会有一个非常愤怒的用户。
不要使用getch
。这是一个Windows控制台功能和一个Curses功能。它不是C ++的一部分。 (除非你是专门为具有这个功能的平台开发的,并且你确定它可以做你想要的。但是这个功能将是一个非常愚蠢的理由让你的程序不可移植。)