【问题标题】:How do you keep the console from closing after the program is done in C? [duplicate]程序在 C 中完成后如何防止控制台关闭? [复制]
【发布时间】:2010-12-24 06:09:16
【问题描述】:

可能重复:
What is the Best Practice for Combating the Console Closing Issue?

在 C 语言中完成程序后如何防止控制台关闭?当我尝试搜索它时,我发现了很多关于 C++ 和其他语言的内容,但没有关于 C 的内容。此外,即使对于 C++,似乎也没有明确的答案。

那么有人可以告诉我在 C 程序运行完成后保持控制台打开的最简单方法(不需要非常优雅)吗?

【问题讨论】:

标签: c windows console-application


【解决方案1】:
  • 从命令运行程序 行,而不是执行它 直接。

  • Visual C++ 中的 Ctrl+F5。

【讨论】:

  • 另外,可以通过运行cmd 提示符(开始|运行|“cmd”)然后从那里运行程序来完成。
  • @walyk 这就是第一点。
  • 我知道,但一些以 GUI 为中心的人不知道如何 获得它。
  • @wally,老实说,我认为任何编写程序的人都可能知道如何打开命令行。
【解决方案2】:

前面的答案都是假设您要调用控制台应用程序,然后基本上让它“运行”并等待用户输入终止。如果这是正确的假设,那么对 GMan 的回答 +1。但是,如果您询问如何从快捷方式、开始-> 运行或其他机制调用此控制台应用程序并让 cmd 窗口保持打开状态,那么您需要通过 cmd.exe 本身使用 /k 选项调用它像这样:

cmd.exe /k "foo.exe"

这将启动一个 cmd 窗口,运行您的控制台应用程序,然后让 cmd 窗口保持打开状态。这将解决上面的@Thanatos。他是正确的,你应该让控制台应用程序关闭。同样,对我来说,不清楚你真正要求的最终目标应该是什么。

如果我做出了错误的假设,请随意 -1 我。

【讨论】:

    【解决方案3】:

    控制台应用程序旨在从控制台运行。如果你这样做了,运行后你会留下你的控制台窗口,并且可以很容易地查看你的程序的输出。

    您可以使用getchar() 之类的东西来强制应用程序等待按键。

    【讨论】:

    • 它仍然在文件末尾以 getchar() 关闭。有什么关系?
    【解决方案4】:

    让控制台关闭。

    如果你在程序中禁止关闭控制台,这将使你的程序难以自动化,或者它会使程序输入的格式变得奇怪。

    相反,首先修复正在运行程序的任何内容,而不是首先关闭终端窗口。如果这是 MS Visual Studio,请尝试 F5(不调试就开始)。如果需要调试,请在程序末尾放置一个断点。否则,请打开命令提示符/终端并自行在那里运行程序。

    【讨论】:

      【解决方案5】:

      1) 您的 IDE 在程序开始之前打开控制台。
      2) 你的程序结束
      3) IDE 关闭控制台

      a) 只需告诉 IDE 不要关闭控制台...或
      b) 让你的程序不结束。

      a) 不知道该怎么做。
      b) 在用于终止程序的return 0; 之前添加

      printf("Press ENTER a few times to terminate the program");
      fflush(stdout);
      getchar(); getchar(); getchar(); getchar();
      getchar(); getchar(); getchar(); getchar();
      return 0;
      

      【讨论】:

        【解决方案6】:

        您可以在程序结束时使用 getch()。 另一种方法是调试程序并在程序结束前放置一个断点。

        【讨论】:

          猜你喜欢
          • 2016-01-31
          • 1970-01-01
          • 1970-01-01
          • 2010-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多