std::feof
STD::Feof
Defined in header | | |
---|---|---|
int feof( std::FILE* stream | | |
检查是否已到达给定文件流的结束。
参数
stream | - | the file stream to check |
---|
返回值
如果已到达流的末尾,则为非零值。0
...
注记
此函数只报告最新I/O操作报告的流状态,不检查关联数据源。例如,如果最近的I/O是std::fgetc
返回文件的最后一个字节,std::feof
返回零。下一个std::fgetc
失败,并将流状态更改为文件末
.只有那时std::feof
返回非零。
在通常情况下,输入流处理会在任何错误上停止;feof
和std::ferror
然后用于区分不同的错误条件。
例
二次
#include <cstdio>
#include <cstdlib>
int main()
{
FILE* fp = std::fopen("test.txt", "r"
if(!fp) {
std::perror("File opening failed"
return EXIT_FAILURE;
}
int c; // note: int, not char, required to handle EOF
while ((c = std::fgetc(fp)) != EOF) { // standard C I/O file reading loop
std::putchar(c
}
if (std::ferror(fp))
std::puts("I/O error when reading"
else if (std::feof(fp))
std::puts("End of file reached successfully"
std::fclose(fp
}
二次
另见
eof | checks if end-of-file has been reached (public member function of std::basic_ios) |
---|---|
clearerr | clears errors (function) |
perror | displays a character string corresponding of the current error to stderr (function) |
ferror | checks for a file error (function) |
c文件
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。