在 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?