【问题标题】:Windows console closing immediately after running a c++ code [duplicate]运行c ++代码后立即关闭Windows控制台[重复]
【发布时间】:2018-02-12 16:12:13
【问题描述】:

我刚刚开始使用 Visual Studio 在 Windows 10 上编写 C++ 代码,并且我正在使用控制台应用程序模板。我的问题是控制台在显示我的程序输出后立即消失,即使我只是运行一个“hello world”示例。我尝试了各种技巧来实现延迟,但没有成功。

【问题讨论】:

标签: c++ windows console visual-studio-2017


【解决方案1】:

我通常在 main 返回之前放置一个 std::cin 行。这将导致它在继续之前等待输入。

【讨论】:

    【解决方案2】:

    您可以执行以下操作(假设您不等待用户输入,在这种情况下您可以按照 Rich 的回答):

    1. 在调试中运行它,并在 main 返回之前的最后一行设置断点。
    2. 在 main 返回之前在末尾使用系统(“暂停”)。(建议这样做只是因为它只是 Visual Studio 中的一个 hello world 程序)

    【讨论】:

      【解决方案3】:

      为您的目的在 Visual Studios 中暂停控制台的一个好方法是使用 system("pause"); 尽管它不能移植到其他操作系统并且某些防病毒系统不喜欢它。出于您的目的,它应该运行良好,并且很容易看到该行的作用。

      希望这会有所帮助。

      【讨论】:

      • 回复:stackoverflow.com/questions/1107705/systempause-why-is-it-wrong。最好不要从一开始就鼓励不良做法。
      • @ArnavBorborah 我们在标签中使用 Visual Studios。 system("pause"); 是一种完全有效的方法。
      • @ArnavBorborah 我添加了免责声明
      • Windows 上的 system 通常不可靠,因为 MSVC 不使用 CMD 的 /d 选项来跳过自动运行命令。与自动运行命令相关的问题可能需要很长时间才能解决,因为这些命令通常是由其他程序在未经同意或建议的情况下设置的。如果您正在运行一个简单的命令,请花费额外的精力通过_wspawnl 调用它。如果您希望控制台保持打开状态,只需使用 /d 选项生成一个 shell。无需在 shell 中运行命令并等待。
      猜你喜欢
      • 2018-12-06
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多