【问题标题】:How can I see an the output of my C programs using Dev-C++?如何使用 Dev-C++ 查看 C 程序的输出?
【发布时间】:2011-01-22 21:28:32
【问题描述】:

我希望在运行 Vista 的机器上跟随 C 编程语言(第二次添加)

到目前为止,我发现 Dev-C++ 是最容易做到这一点的 IDE。但是,我仍然有一个问题。每当我运行我编译的代码时,例如:一个简单的 hello world 程序,它都会运行,但控制台窗口只是在屏幕上闪烁,我看不到输出。

如何使用 Dev-C++ 查看 C 程序的输出?我找到了一个特定于 C++ 的解决方案 System("pause") 和一个非常丑陋的 C 解决方案 while looping fflush(stdout),但没有什么好看的。

【问题讨论】:

  • 您是否考虑过更新的 IDE? Dev-C++ 5 年没有更新了。
  • 你确定不超过5年吗?我在 2004 年用它来学习 C++,然后我被告知它已经过时了! (另外,System 不是特定于 C++ 的。它适用于 C 和 C++,但应该避免,因为它是特定于平台的)
  • 那我应该使用什么 IDE?
  • 哪个有完全相同的问题。
  • Code::Blocks 是另一种选择。

标签: c dev-c++


【解决方案1】:

好吧,当您编写 c 程序并希望输出日志保持不变而不是闪烁时,您只需导入 stdlib.h 头文件并键入“system("PAUSE");"在您希望输出屏幕停止的地方。看这里的示例。下面的简单 c 程序将 5 和 6 的乘积(即 30)打印到输出窗口并暂停输出窗口。 p>

#include <stdio.h>
#include <stdlib.h>
int main()
 {
      int a,b,c;
      a=5;b=6;
      c=a*b;
      printf("%d",c);
      system("PAUSE");
      return 0;
 }

希望这会有所帮助。

【讨论】:

  • 问题中表达了相同的选项。
【解决方案2】:

使用system("PAUSE") 行将解决该问题,并且还包括预处理器目录#include&lt;stdlib.h&gt;

【讨论】:

    【解决方案3】:

    我认为你应该在控制台模式下链接你的项目

    只需按 Ctrl+h 并在常规选项卡中选择控制台。

    【讨论】:

      【解决方案4】:

      ; 它有效...

      #include <iostream>
      using namespace std;
      int main ()
      {
         int x,y; // (Or whatever variable you want you can)
      

      然后你需要的进程语法类型在这里;

         cout << result 
      

      (或您需要的输出结果语句);在 getchar 和其他语法中不带空格使用。

         getchar();
      }
      

      现在您可以使用 .cpp 扩展名保存文件并使用 ctrl + f 9 进行编译,然后使用 ctrl + f 10 执行程序。 它将向您显示输出窗口,并且不会在一秒钟内消失,直到您单击 Enter 关闭输出窗口。

      【讨论】:

        【解决方案5】:

        当程序未在屏幕上显示或显示输出时,在 Windows 配置文件中使用 system("pause"); 是解决该问题的方法。

        【讨论】:

          【解决方案6】:

          在 main 函数中的 return 0; 之前添加一行 getchar();system("pause");。 它会为你工作。

          【讨论】:

            【解决方案7】:

            将此添加到您的头文件#include 然后最后添加这一行:getch();

            【讨论】:

              【解决方案8】:

              对于 Dev-C++,您需要添加的位是:-

              一开始

              #include <stdlib.h>
              

              并且在您希望它停止的地方 - 即在程序结束之前,但在最后 }

              system("PAUSE");
              

              然后它会要求您“按任意键继续...”

              【讨论】:

              • 抱歉,由于某种原因,网站不喜欢“include”行......您需要在 include 之前添加“hash”,然后
              • 当存在可移植和高效的方法时,为什么要建议system("pause")
              【解决方案9】:

              使用#include conio.h

              然后在return 0;之前添加getch();

              【讨论】:

              • conio.h 头文件不可移植(只能在 Windows 平台上找到),因此不应使用。而是仅使用 C 库中的函数。比如while( int ch = getchar() &amp;&amp; EOF != ch &amp;&amp; '\n' != ch ); getchar();,它会清除标准输入,然后等待用户输入最终字符
              【解决方案10】:

              在 Windows 中,当进程终止时,操作系统会关闭关联的窗口。所有程序都会发生这种情况(通常是可取的行为),但是当他们自己编写的程序发生这种情况时,人们永远不会停止惊讶。

              也许我有点苛刻;许多IDE在shell中作为子进程执行用户进程,因此它不拥有窗口,因此在进程终止时它不会关闭。尽管这很简单,但 Dev-C++ 并没有这样做。

              请注意,当 Dev-C++ 流行时,这个问题每天至少出现两次在 Dev-C++ 自己的 Sourceforge 论坛上。出于这个原因,论坛有一个“首先阅读”主题,它提供了许多其他常见问题的解决方案中的建议解决方案。你应该阅读它here

              请注意,Dev-C++ 有点旧,不再积极维护。它受到几乎无法使用且非常有限的调试器集成的影响最大。自 VC++ 2005 Express 发布以来,Dev-C++ 论坛上的访问量一直在下降,现在每周发布两到三个帖子,而不是 2005 年的每天 10 个左右。所有这些都表明您应该考虑替代工具 IMO。

              【讨论】:

              • 更新:Dev-C++ 已被分叉为Orwell Dev-C++,目前正在维护中。我不能说它是否解决了 Dev-C++ 的其他问题。
              • @avgvstvs:在哪里? original project 多年未更新,仍然与MinGW-GCC 3.4.2 一起分发。 Orwell Dev-C++ fork 最后更新于 2015 年 4 月,随 TDM-GCC 4.9.2 一起分发。 Chugging 也许是一个正确的词——它几乎不是一个活动的蜂巢。自从写了这个答案以来,微软和其他一些免费工具已经发布,这些工具更新了。 Visual Studio 2015 社区版让 Dev-C++ 看起来像石器时代。
              • 我找到了 Orwell 分支,正如你所说,它自 2015 年以来就没有更新过。我盲目地认为这意味着自 2010 年以来有人接管了维护
              【解决方案11】:

              我将getchar() 作为一个简单的“暂停方法”放在我的程序末尾。根据您的具体细节,调查getchargetchgetc

              【讨论】:

              • 恕我直言,更改代码以解决编辑环境中的奇怪行为似乎不是最好的方法。
              【解决方案12】:

              您可以打开命令提示符(开始 -> 运行 -> cmd,使用 cd 命令更改目录)并从那里调用您的程序,或者在程序末尾添加 getchar() 调用,这将等到您按 Enter 键。在 Windows 中,您还可以使用system("pause"),它会显示“Press enter to continue...”(或类似的)消息。

              【讨论】:

                【解决方案13】:

                最简单的做法是直接运行您的程序,而不是通过 IDE。打开命令提示符(开始->运行->Cmd.exe->Enter),cd 到您的项目所在的文件夹,然后从那里运行程序。这样,当程序退出时,提示窗口仍然存在,您可以阅读所有输出。

                或者,您也可以将标准输出重定向到文件,但这可能不是您想要的。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2013-11-03
                  • 2016-05-27
                  • 2021-09-16
                  • 1970-01-01
                  • 2017-11-04
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多