我知道有很多建议立即关闭的解决方法,但我想知道是否有其他方法可以跨平台这样做?
我认为 system("pause")
是特定于 visual studio/windows 的,而 getchar()
或其他等待用户输入的类似内容会为退出创建不必要的输入在 gcc 下运行的程序。
有什么想法吗?
-- 编辑 --
我也试过按 Ctrl+F5
,但有时不起作用。因此,我正在寻找可以在 Visual Studio 中暂停控制台屏幕并且不会在其他 C++ 编译器中造成任何差异的替代命令(如果有的话)或设置。
最佳答案
只有当您从 GUI 启动控制台程序时才会出现此问题。所以有一个非常简单的跨平台解决方法——从控制台运行控制台程序。如果您想制作一个从 GUI 运行良好的程序,请制作一个 GUI 程序。
其他建议的解决方法很糟糕。 getchar()
和 system("pause")
都会干扰任何将程序用作过滤器或重定向其输入和输出的尝试。破坏程序以使其在不正确使用时“正确”工作是没有意义的。
关于c++ - 在没有系统 ("pause"的情况下立即阻止 Visual Studio C++ 控制台退出)或额外获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107627/