Namespaces
Variants

clearerr

From cppreference.net
< c ‎ | io
定义于头文件 <stdio.h>
void clearerr ( FILE * stream ) ;

重置给定文件流的错误标志和 EOF 指示器。

目录

参数

stream - 用于重置错误标志的文件

返回值

(无)

示例

#include <stdio.h>
#include <assert.h>
int main(void)
{
    FILE* tmpf = tmpfile();
    fputs("cppreference.net\n", tmpf);
    rewind(tmpf);
    for (int ch; (ch = fgetc(tmpf)) != EOF; putchar(ch)) { }
    assert(feof(tmpf)); // 预期循环因EOF终止
    puts("End of file reached");
    clearerr(tmpf); // 清除EOF
    puts(feof(tmpf) ? "EOF indicator set" 
                    : "EOF indicator cleared");
}

输出:

cppreference.net
End of file reached
EOF indicator cleared

参考文献

  • C17 标准 (ISO/IEC 9899:2018):
  • 7.21.10.1 clearerr 函数 (p: 246)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.21.10.1 clearerr 函数 (p: 338)
  • C99标准(ISO/IEC 9899:1999):
  • 7.19.10.1 clearerr函数(页码:304)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.9.10.1 clearerr 函数

参考

检查文件结尾
(函数)
将当前错误对应的字符串显示到 stderr
(函数)
检查文件错误
(函数)
C++ documentation for clearerr