Mcs*_*Mcs 12 c console stdin eof
关于这个的问题已经在C中被问到 文件结尾(EOF), 但它仍然没有完全解决我的问题.
EOF在任何数据流中都没有意义stdin,例如,如果我有一些data.txt文件,fgetc()将读取所有字符并返回到文件末尾并返回-1.
我不明白的是EOFin 的概念stdin.如果我使用getchar()它,它将等待我输入一些东西,所以如果没有写入,文件结束,(EOF)不会自动返回?
因此,它是只有用户可以调用EOF在stdin按Ctrl+ Z?如果是这样,那么EOFin的一些用途是stdin什么?我想它会告诉程序继续读取,直到用户调用文件结束?是这个吗?
谢谢
Iha*_*imi 16
所以,如果没有写,文件结束,(EOF)不会自动返回?
不,它不应该由用户发送.
因此,它是只有用户可以调用
EOF在stdin按Ctrl+ Z?
是的,您可以使用可以在控制台中输入的特殊组合键来设置EOF指示器stdin,对于Linux控制台是Ctrl+ D,对于Windows,它是Ctrl+ Z.
如果是这样,那么
EOFin的一些用途是stdin什么?我想它会告诉程序继续读取,直到用户用户调用文件结尾?是这个吗?
它的使用取决于你是否指示用户EOF明确输入,例如,我认为python控制台会告诉你类似的东西Press Ctrl+D or type quit() to exit.
而EOF不一定-1是一个宏,你应该总是用它来测试的EOF指标.更重要的EOF是,它不是一个字符,它是一个特殊值,表示设置了E nd O f F ile指示符.
而且,getchar()相当于fgetc(stdin).
| 归档时间: |
|
| 查看次数: |
20147 次 |
| 最近记录: |