c++ - 在没有系统 ("pause"的情况下立即阻止 Visual Studio C++ 控制台退出)或额外获取

标签 c++ visual-studio-2013

我知道有很多建议立即关闭的解决方法,但我想知道是否有其他方法可以跨平台这样做?

我认为 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/

相关文章:

c++ - 如何在 Qt 中将 TreeView 保存为 .csv 文件?

c++ - 将单个参数传递给多参数函数

c++ - CreateDirectory 不适用于服务器路径 - C++

c++ - 指针问题

visual-studio-2013 - Microsoft.Web.Publishing.targets 在哪里?

visual-studio-2013 - TFS 2013 : Automerge doesn't work

Visual Studio 2015(社区)中的 Python (WinPython 3.4) 抛出 KeyError

处理 1,000,000 个 2D Sprite 的 C++ 2D 图形库?

visual-studio-2013 - Visual Studio 2013 IntelliSense 子词导航和完成

visual-studio - 为什么 UIMap 编码的 UI 测试生成器 "Hang"