【问题标题】:console closing immidiately after running c++ program(without debugging)运行 c++ 程序后控制台立​​即关闭(无需调试)
【发布时间】:2018-12-06 07:04:44
【问题描述】:

我尝试在 Visual Studio 2017 中运行简单的 hello world - 空项目和空控制台应用程序,但是当我按 ctrl + f5 时控制台会立即关闭。 Visual Studio 几天前工作正常。我更新了 VS 社区版,但仍然有同样的问题。尝试了不同的解决方案,例如:属性>配置属性>链接器>系统(控制台(/SUBSYSTEM:CONSOLE)),尝试了系统(“暂停”),但没有任何效果。有没有人对此有任何解决方案?

问题是,几天前 VS 工作正常,控制台应用程序将在没有 getchar()、system() 和类似功能的情况下运行(控制台将保持打开状态)。

【问题讨论】:

  • 我附近没有 Windows 机器,但您是否尝试过 fflush(stdin) 然后使用 pause、getchar 等?
  • 输出窗口中是否有任何内容(例如错误)
  • 你能找到你的应用程序的可执行文件并从 cmd 手动运行它吗?你在那里看到任何输出吗?
  • 我认为他不知道是否有任何输出,VS 往往会非常快地关闭窗口,所以如果它只是一个“hello world”,他希望看到......
  • @Qubit Flushing 标准输入未定义。

标签: c++ visual-studio


【解决方案1】:

这是 C/C++ 的一种方式:

#include <stdlib.h>

#ifdef _WIN32
#define WINPAUSE system("pause")
#endif

把它放在你程序的顶部,如果它在Windows系统上(#ifdef _WIN32),那么它将创建一个名为WINPAUSE的宏。每当您希望程序暂停时,请调用 WINPAUSE;它将使用 DOS 命令暂停程序。对于 Unix/Linux 等其他系统,控制台不应在程序退出时退出。 这适用于大多数 Visual Studio 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多