C ++完成后运行并关闭?

时间:2011-11-13 19:39:21

标签: c++

  

可能重复:
  How to stop C++ console application from exiting immediately?

我正在学习C ++,并且当我想向用户显示一些数据并且有时间阅读它时,无法弄清楚如何停止退出应用程序。我怎么能这样做?

更新:不知怎的,我暂停了应用程序,当用户点击按钮时,它就会退出。

3 个答案:

答案 0 :(得分:2)

我假设你在Windows上。

这可能会变成一场长时间的辩论,但人们通常会有两种主要方式:

  1. 推荐)将cin.get();添加到程序的末尾。这将导致程序停止,直到用户点击进入,然后它将继续并退出。

    • 这适用于Windows和Linux。
  2. 在程序结束时添加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 ++的一部分。 (除非你是专门为具有这个功能的平台开发的,并且你确定它可以做你想要的。但是这个功能将是一个非常愚蠢的理由让你的程序不可移植。)