最近,我一直试图从这个网站学习c++。不幸的是,每当我试图运行其中一个代码示例时,我看到该程序打开了大约半秒钟,然后立即关闭。有没有办法阻止程序立即关闭,以便我能看到我的努力的成果?


当前回答

你可以只创建一个批处理文件。例如,如果你的程序名为helloworld.exe,一些代码将是:

@echo off
:1
cls
call helloworld.exe
pause >nul
goto :1

其他回答

我通常只在main()的右大括号上加一个断点。当程序以任何方式结束时,断点将出现,您可以ALT-Tab到控制台窗口以查看输出。

只需在返回0之前使用cin.ignore();两次

main()
  {
  //your codes 

  cin.ignore();
  cin.ignore();

  return 0;
  }

thats所有

以调试模式启动,使用F5运行代码 要停止你的控制台应用程序,不要点击红叉,而是按CTRL-break 你会在程序的最后碰到所有的断点。

这里有个问题,不太明显。不知怎么的,我在程序的最后一行添加了一个调试断点。不知道我是怎么做到的,可能是在不同屏幕之间跳跃时错误地点击了鼠标。我在VS Code工作。

当我进行调试时,系统立即跳转到那个断点。没有错误消息,没有临时输出,什么都没有。我就想,程序是怎么通过我设置的所有断点的?我花了太长时间才想明白。

显然,系统将最后一行断点视为“第一个”停止。简单的解决方法?删除断点,哎呀!(此处插入前额。)

查看您的IDE在项目设置中是否有一个复选框,以便在程序终止后保持窗口打开。如果不是,使用std::cin.get();读取主函数末尾的一个字符。但是,请确保只使用基于行的输入(std::getline)或处理剩余的未读字符(std::ignore until newline),否则末尾的.get()将只读取之前未读的垃圾。