如何阻止 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++ 控制台应用程序立即退出?的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止控制台在退出时关闭? [复制]

在 C# 应用程序退出时清理非托管 C++ 线程

Elixir:应用程序立即退出,或者在运行 distillery 包时没有收到输入。为啥它会以这种方式工作,以及如何解决它?

如何阻止 Windows 批处理文件提前退出?

在 C# 中注销网站后立即拒绝重新登录

C++ Windows 套接字 - 在程序退出时关闭套接字