标准输入流 (stdin) 中的文件结尾 (EOF)
问题:
标准输入有文件结束标记吗?如果没有,可以加一个吗?
答案:
Stdin 中的 EOF
stdin 自然没有 EOF标记。从 stdin 读取时(例如,使用 fread 或 read),循环:
while ((c = read(0, buffer, BUFSIZ)) > 0) { // ... }
除非显式模拟 EOF,否则不会结束。
在 Stdin 中模拟 EOF
在 UNIX 系统中,按 Ctrl D 可以模拟 stdin 中的 EOF。在 Windows 中,按 Ctrl Z。这将使程序表现得好像已到达输入文件的末尾。
重定向输入
重定向输入时来自文件(例如,程序 额外说明 Stdin without重定向可以被认为是一个无限文件。输入结束必须通过使用 Ctrl D 或 Ctrl Z 模拟 EOF 来手动发出信号。
以上是如何在标准输入流 (stdin) 中模拟文件结束符 (EOF)?的详细内容。更多信息请关注PHP中文网其他相关文章!