【发布时间】:2015-03-28 18:43:57
【问题描述】:
已在此处提出有关此问题的问题 End of File (EOF) in C 但它仍然不能完全解决我的问题。
EOF 在任何不是stdin 的数据流中对我来说都是有意义的,例如,如果我有一些data.txt 文件,fgetc() 将读取所有字符并到达文件末尾并返回@987654327 @。
我不明白的是EOF 在stdin 中的概念。如果我使用getchar(),它会等待我输入一些东西,所以如果没有写入,文件结束,(EOF)不会自动返回?
那么是不是只有用户可以通过按Ctrl+Z在stdin中调用EOF?
如果是这样,那么EOF 在stdin 中有哪些用途?我猜它告诉程序继续阅读,直到用户调用文件结尾?是这个吗?
谢谢
【问题讨论】:
-
是的,只有
ctrl+D会通过 unix 上的标准输入为您提供 EOF。ctrl+Z在 Windows 上 -
可能是等待实际输入的问题,这可能取决于input redirection