如何阻止 C++ 控制台应用程序立即退出?
Posted
技术标签:
【中文标题】如何阻止 C++ 控制台应用程序立即退出?【英文标题】:How to stop C++ console application from exiting immediately? 【发布时间】:2011-02-01 13:04:15 【问题描述】:最近,我一直在尝试向this website 学习 C++。不幸的是,每当我尝试运行其中一个代码示例时,我都会看到该程序打开了大约半秒,然后立即关闭。有没有办法阻止程序立即关闭,以便我看到我努力的成果?
【问题讨论】:
你是在双击可执行文件吗?您在 Windows 中工作吗?您为什么不在 Command shell 中工作并输入您希望执行的命令? @S Lott:因为如果您在 IDE 中按下“开始”按钮,您就不需要使用控制台了。 你应该考虑买一本好书来学习 C++。网站是很好的资源,但与好的介绍性文字不匹配。这里有一个明确的 C++ 书籍列表:***.com/questions/388242/… @Billy 如果在应用程序终止时按下 Go 按钮会关闭应用程序,则说明您使用了错误的 IDE。 以前在这里提问和回答过:***.com/questions/902261/…,虽然这个标题更好。 【参考方案1】:您甚至可以在main()
函数的开头声明一个整数(比如int a;
)并将std::cin >> a;
放在返回值之前。所以程序会一直运行,直到你按下一个键并输入。
【讨论】:
【参考方案2】:包括conio.h
并在代码末尾,return 0
之前写_getch();
【讨论】:
【参考方案3】:你也可以坚持
while(true)
;
或
for(;;)
;
在最后。
【讨论】:
-1 忙碌的旋转是邪恶的。它们会消耗您的 CPU 周期而一无所获。如果你打算做这样的事情,至少在循环体内调用 pause 以产生大部分循环。【参考方案4】:以调试模式启动,按 F5 运行代码 要停止您的控制台应用程序,请不要单击红十字,而是按 CTRL-break 并且您将在程序结束时遇到所有断点。
【讨论】:
【参考方案5】:只需将其放在代码的末尾即可:
而(1)
这个功能会一直持续下去(或者直到你关闭控制台)并且会阻止控制台自行关闭。
【讨论】:
以上是关于如何阻止 C++ 控制台应用程序立即退出?的主要内容,如果未能解决你的问题,请参考以下文章
Elixir:应用程序立即退出,或者在运行 distillery 包时没有收到输入。为啥它会以这种方式工作,以及如何解决它?