【问题标题】:Should I use system(PAUSE) or cin.get() to keep the console window open?我应该使用 system(PAUSE) 还是 cin.get() 来保持控制台窗口打开?
【发布时间】:2015-11-21 10:41:56
【问题描述】:

我正在使用互联网和 Bjarne Stroustrup 的“编程:使用 C++ 的原则和实践”自学/自学 C++,我知道您可以使用 system(PAUSE)cin.get() 保持控制台窗口打开,或者 Stroustrup 提到的这个keep_window_open(),但我想知道哪个是最好的方式,或者至少是程序员最接受的方式。

【问题讨论】:

  • 您能否详细说明为什么要保持窗口打开?
  • 主要用于调试。我想对于我正在做的简单的开始程序,比如井字游戏之类的事情,我想在它退出之前确保一切正常(即没有拼写错误,数组正常工作)。完成后让它关闭是更好的做法吗?

标签: c++


【解决方案1】:

不要使用这些技巧。

不要让程序在实际完成时不会退出,而是要学习如何以对您的任务有用的方式使用终端仿真器。我认为在大多数模拟器上,如果您预先打开终端窗口,然后导航到可执行文件所在(或将要)所在的目录,然后按其名称启动它,则该窗口将在程序完成后保持打开状态。只有当您通过双击启动可执行文件时,窗口才会立即关闭。

如果您是从 IDE 中启动程序,请检查它是否有保持窗口打开的选项。这如何完成当然取决于 IDE。 (请参阅 cmets 以获得一些指示。)

【讨论】:

  • 这是否适用于在 Visual Studio Community 等 IDE 中进行调试,或者仅在实际运行程序时使用?
  • 在 Visual Studio 中,您可以简单地在 main() 函数的最后一行放置一个断点,
  • @nworb99 或者,您可以使用 Ctrl+F5 并保持窗口打开stackoverflow.com/questions/1775865/…
  • @root.ctrlc 我会在开始调试时还是在调试时按 Ctrl + F5?
  • @nworb99 我认为您在开始在 Visual Studio 中运行程序之前就已经这样做了。我没有方便的副本来验证这一点,但这就是我链接的答案的样子。
猜你喜欢
  • 2014-04-20
  • 2010-12-26
  • 2013-06-01
  • 2011-07-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 2010-10-02
相关资源
最近更新 更多