5

我希望在运行 Vista 的机器上跟随The C Programming Language (Second Addition) 。

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

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

4

13 回答 13

6

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

于 2010-03-02T19:52:00.953 回答
5

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

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

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

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

于 2010-03-02T20:37:14.317 回答
4

利用#include conio.h

getch();然后在前面加上return 0;

于 2012-03-24T13:29:23.113 回答
2

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

于 2013-05-25T09:19:08.773 回答
2

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

一开始

#include <stdlib.h>

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

system("PAUSE");

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

于 2012-06-24T18:17:42.577 回答
2

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

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

于 2010-03-02T19:43:04.787 回答
1

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

于 2014-06-28T17:56:58.973 回答
1

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

于 2010-03-02T19:51:08.213 回答
1

; 有用...

#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 关闭输出窗口。

于 2014-07-03T04:03:47.347 回答
1

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

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

于 2015-06-25T21:36:16.730 回答
0

当程序没有在屏幕上显示或显示输出时,使用system("pause");是在 Windows 配置文件上的解决方案。

于 2013-11-22T10:18:00.853 回答
0

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

#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;
 }

希望这有帮助。

于 2016-04-21T20:10:53.160 回答
0

使用 linesystem("PAUSE")将解决该问题,并且还包括预处理器目录#include<stdlib.h>

于 2016-03-17T04:43:14.327 回答