首页 > 后端开发 > C++ > 如何在标准输入流 (stdin) 中模拟文件结束符 (EOF)?

如何在标准输入流 (stdin) 中模拟文件结束符 (EOF)?

Patricia Arquette
发布: 2024-10-29 01:23:02
原创
535 人浏览过

How do I simulate an End-of-File (EOF) in the Standard Input Stream (stdin)?

标准输入流 (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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板