【问题标题】:How can I see the output of my program in the Turbo C IDE?如何在 Turbo C IDE 中查看我的程序的输出?
【发布时间】:2010-07-15 03:45:26
【问题描述】:

如何在 C 中打印#include<conio.h>

#include<stdio.h>
#include<conio.h>
void main()
{
printf("#include<conio.h>");

}

如何获得输出为

#include<conio.h>

你必须把 getch();并按 Ctrl+f9 而不是 alt+f5

【问题讨论】:

  • @subbanki:“我得到一个空白屏幕”它打开了吗?
  • 说真的!您使用的是哪个编译器?您是否尝试过使用调试器单步执行?
  • 注意:conio.h 不是,也从来不是一个有效的 ANSI C++ 标头。使用它需要您自担风险。
  • @subbanki : 你能告诉你是如何编译的吗?可执行文件的名称是什么?
  • at+f5 不会编译和运行你的程序,这是 ctrl+f9 的工作。 alt+f5 只显示输出窗口。要编译,您必须按 alt+f9。要编译并运行,您必须按 ctrl+f9。

标签: c windows ide


【解决方案1】:

我认为你不需要做任何其他事情。您已经自己编写了解决方案。您所要做的只是CompileRun...... :)

【讨论】:

  • 如果出现空白屏幕,则问题可能出在其他地方。您正在打印的字符完全可以使用 C 中的 printf 函数打印。您不必添加任何转义字符或其他任何内容。问题可能出在您的 IDE 设置或其他地方。你能打印除此之外的任何东西吗?尝试打印“Hello World”,看看是否打印。
  • 尝试删除“conio.h”标头,因为它不在 ANSI C 标准规范中。也有 main 返回整数而不是 void,将“void”写为 main 的参数,并从 main 返回“0”。看看这是否有效。另外,您能告诉我们您使用的是哪个 IDE/编译器吗?
  • 然后尝试添加“getch();”在调用“printf”之后,看看这里到底发生了什么。同时尝试调试程序。
  • @subbanki:看看我的回答----我认为你的问题出在 IDE,而不是代码上。
【解决方案2】:

如果您从 IDE 运行它,您可能需要查看输出控制台之类的东西,并且可能会在您的程序退出时关闭,然后您才有机会查看打印的内容。

如果您从命令行运行它,可能(因为它不会在字符串后打印换行符)您的提示符正在破坏输出。

【讨论】:

  • 假设你是对的,如何让它显示输出更长的时间,我正在使用 borland turbo C
  • 看起来(根据您的问题修正)我是对的 - 毕竟它正在打印,问题(大概)是您的 IDE 关闭输出窗口太快。随意将此答案标记为“已接受”:)
  • 我认为马特是对的(他经常是)。如果您从命令行运行可执行文件,则输出应保持不变。
【解决方案3】:

我认为您在 GCC(GNU 编译器集合)和 turbo c 编译器之间存在很大的混淆。

在 Turbo C 编译器中,输出将单独存储在输出窗格中,可以通过按 alt+F5 来查看。

因此,为了在编译时查看页面,您需要在输出页面中输入输入,以便页面仅在输入后退出。

为此,我们使用了一个名为 getch(); 的函数,该函数是从 conio.h 库中获得的。

因此printf 语句后插入getch(); 函数并按ctrl+F9 现在我希望显示输出。

注意: - 可能会为包含 scanf 语句的其他程序显示输出页面,以便您可以在输出页面上提供输入。但即使那样您也无法看到产生的输出通过按 Ctrl+F9 在 scanf 之后通过 printf 语句。

【讨论】:

    【解决方案4】:

    如果我记得 Turbo C++ 没错(可能是一样的),你需要去Output 窗口查看结果。所以转到菜单栏上的Window 并选择Output --- 你应该在那里看到你的字符串。

    如果这不起作用,请将getch(); 添加到程序的末尾。这将确保程序在退出前等待用户击键。

    【讨论】:

      【解决方案5】:

      它对我来说很好,但我想你的 STDOUT 流很可能没有被自动刷新。尝试添加

      fflush(stdout);
      

      printf之后。

      【讨论】:

      • stdout 应该在程序终止时自动刷新。
      • 是的,我也是这么想的——而且它适合我。根据给出的信息,我只是抛出我能想到的唯一可能性。
      • fflush(stdout);给我一个更暗的空白屏幕,不工作
      【解决方案6】:

      有时,如果最后打印的行没有以换行符结束,shell 会覆盖它;尝试在 printf 末尾添加\n

      【讨论】:

        【解决方案7】:

        如果您将 'printf' 调用替换为

        fprintf(stderr, "#include<conio.h>");
        

        或者,试试这个:

        _cprintf("#include<conio.h>");
        

        运气好吗?

        【讨论】:

          猜你喜欢
          • 2022-01-24
          • 2011-01-22
          • 2013-11-03
          • 1970-01-01
          • 2023-03-22
          • 2015-02-02
          • 1970-01-01
          • 2012-05-21
          相关资源
          最近更新 更多