【问题标题】:Having troubles with EOF on Windows 7在 Windows 7 上遇到 EOF 问题
【发布时间】:2012-05-14 19:13:54
【问题描述】:

我目前正在使用 K&R 学习 C,并且很难通过 cmd 发送 EOF 模拟。我正在尝试 Ctrl + Z 什么也没做。

在某些情况下 Enter 正在做这项工作,而在其他情况下则什么都不做。

提前感谢您的帮助。

【问题讨论】:

  • Ctrl-z 适用于 Windows,但 iirc 效果不是立竿见影的。之后您仍然必须按 Enter。
  • 我都试过了,没用。
  • This answer 对一个类似的问题说 Ctrl-Z + Enter 是要走的路。
  • 嗨,Sam,谢谢,但我说我已经尝试过 Ctrl+Z -> Enter,但它没有用。在我提到的情况下,当 Enter 只完成这项工作时,它只是 Enter。

标签: c eof


【解决方案1】:

假设您在 Windows 上,情况是您基本上必须在行首执行 ctrl+Z - 即,您必须已经点击 enter,然后执行 ctrl+Z,然后(取决于输入的读取方式)可能 enter kbd> 再次。

您也可以使用 F6 来表示输入结束。至少在大多数情况下,即使/如果它确实立即跟随 enter,这也会起作用。

不幸的是,Windows 提供了足够多不同的方式和模式来读取输入,除非我们知道您正在使用的编译器(或者,更具体地说,标准库),否则很难绝对确定地陈述很多内​​容作为您编写的确切代码。在正常情况下,只需点击 enter 应该 not 会被检测为文件结尾,但您的代码可能会将空行视为输入结尾。

【讨论】:

  • 我知道它并不完美,但它应该可以工作,或者至少打印 'All good baby...' pastebin.com/MGgGhHiP
【解决方案2】:

在 Windows 7 控制台窗口中,我成功按了 F6,然后按了 EnterF6 在命令提示符处生成文件结尾 ^Z 符号。

Ctrl+Z 导致控制台窗口退出执行,而不仅仅是用户程序。

【讨论】:

    猜你喜欢
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    相关资源
    最近更新 更多