这可能是一个令人尴尬的问题,因为答案无疑是显而易见的。

我已经使用Visual Studio很多年了,但这是我第一次做任何“控制台应用程序”开发。

当我运行我的应用程序时,控制台窗口弹出,程序输出出现,然后当应用程序退出时窗口关闭。

是否有一种方法可以让它一直打开直到我检查输出,或者在窗口关闭后查看结果?


当前回答

在项目属性的调试部分的命令参数框中添加“| pause”。

其他回答

您也可以使用此选项

#include <conio.h> 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
   .
   .
   .
   getch(); 

   return 0;
}

尝试在main()返回之前调用getchar()。

应该补充的是,从那时起情况已经发生了变化。在Windows 11(可能是10,我不能再检查了)上,新的终端应用程序现在包含各种控制台,PowerShell和其他会话,有自己的关闭设置。在设置中查找>默认>高级>配置文件终止行为。

如果它被设置为当程序以0退出时关闭,那么它将关闭,即使VS被告知相反的情况。

有时候,一个简单的不改变你的设置或代码的黑客可以:

用F9设置断点,然后用F5执行Debug。

(/子系统:控制台)不为我的vs2013工作(我已经有了它)。

“不调试地运行”不是一个选项,因为我不想在调试和查看输出之间切换。

我以

int main() {
  ...
#if _DEBUG
  LOG_INFO("end, press key to close");
  getchar();
#endif // _DEBUG
  return 0;
}

qtcreator pre 2.6中使用的解决方案。qt在增长,vs在相反方向。我记得,在vs2008中我们不需要这样的技巧。