在 C++ 中使用 freopen 时如何检测文件结尾?
How to detect end-of-file when using freopen in C++?
fopen 有 feof。但是我正在使用
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
feof 相当于什么?
和用fopen
打开文件时一样:你用feof
.
比如在freopen("in.txt", "r", stdin);
之后,feof(stdin)
会告诉你是否打到了"in.txt"的结尾。
关于 feof
的常见警告适用:feof
不会告诉您是否在文件末尾 现在 - 它会告诉您 您尝试做的最后一件事是否失败了 因为您到达了文件末尾。参见:Why is “while ( !feof (file) )” always wrong?
fopen 有 feof。但是我正在使用
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
feof 相当于什么?
和用fopen
打开文件时一样:你用feof
.
比如在freopen("in.txt", "r", stdin);
之后,feof(stdin)
会告诉你是否打到了"in.txt"的结尾。
关于 feof
的常见警告适用:feof
不会告诉您是否在文件末尾 现在 - 它会告诉您 您尝试做的最后一件事是否失败了 因为您到达了文件末尾。参见:Why is “while ( !feof (file) )” always wrong?