c - 在 Windows 7 上遇到 EOF 问题

标签 c eof

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

在某些情况下,Enter正在执行这项工作,而在其他情况下,什么也不执行。

预先感谢您的帮助。

最佳答案

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

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

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

关于c - 在 Windows 7 上遇到 EOF 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37749244/

相关文章:

c - C 文件(库)与 clang 链接器的基本使用

c - "static"关键字如何影响计算?

c - N Queen 的输出错误

c - 如果不会在内部触发

c - ((c=getchar())!=EOF) 和 ((c=getchar())!='~' ) 之间的区别 ,'~' 可以是任何字符

c - 为什么在输入一些文本并按下 "enter"键 (EOF) 后 printf 语句不在这里执行?

c - 我正在学习 C 编程递归并正在做一项事件,但我陷入困境

c - 在 C 中读取每行有 2 个值的文本文件

java - 向 TCP 服务器指示 Java TCP 客户端已完成写入流

C++ 从 cin 读取输入,直到读取整行