【发布时间】:2017-09-04 17:32:41
【问题描述】:
我在某处读到while(fgets(line, sizeof(line), stdin) != NULL) 应该从标准输入读取,直到您按下代表EOF 并生成NULL 的Ctrl+D,但我的程序继续运行虽然我按 Ctrl+D,但有人有什么想法吗?一切都值得赞赏。
【问题讨论】:
-
Windows?然后使用 CTRL+Z。
我在某处读到while(fgets(line, sizeof(line), stdin) != NULL) 应该从标准输入读取,直到您按下代表EOF 并生成NULL 的Ctrl+D,但我的程序继续运行虽然我按 Ctrl+D,但有人有什么想法吗?一切都值得赞赏。
【问题讨论】:
Ctrl+D 不在 C 语言规范中定义为 EOF。 Ctrl+D 在操作系统级别定义。因此,您必须在 Ctrl+D 没有您期望的行为的系统上。
【讨论】: