clearerr

From cppreference.com
< c‎ | io
 
 
File input/output
Types and objects
Functions
File access
(哋它亢11)
(哋它亢11)
(哋它亢95)
Direct input/output
Unformatted input/output
(until 哋它亢11)(哋它亢11)
(哋它亢95)(哋它亢95)
(哋它亢95)
(哋它亢95)(哋它亢95)
(哋它亢95)
(哋它亢95)
(哋它亢95)
(哋它亢95)
Formatted input
(哋它亢11)(哋它亢11)(哋它亢11)
(哋它亢95)(哋它亢95)(哋它亢95)(哋它亢11)(哋它亢11)(哋它亢11)    
(哋它亢99)(哋它亢99)(哋它亢99)(哋它亢11)(哋它亢11)(哋它亢11)
(哋它亢99)(哋它亢99)(哋它亢99)(哋它亢11)(哋它亢11)(哋它亢11)     
Formatted output
(哋它亢99)(哋它亢11)(哋它亢11)(哋它亢11)(哋它亢11)
(哋它亢95)(哋它亢95)(哋它亢95)(哋它亢11)(哋它亢11)(哋它亢11)(哋它亢11)    
(哋它亢99)(哋它亢11)(哋它亢11)(哋它亢11)(哋它亢11)
(哋它亢95)(哋它亢95)(哋它亢95)(哋它亢11)(哋它亢11)(哋它亢11)(哋它亢11)
File positioning
Error handling
clearerr
Operations on files
(哋它亢11)
(哋它亢11)
 
Defined in header <stdio.h>
void clearerr( FILE *stream );

Resets the error flags and the EOF indicator for the given file stream.

Parameters

stream - the file to reset the error flags for

Return value

(none)

Example

#include <stdio.h>
#include <assert.h>
 
int main(void)
{
    FILE* tmpf = tmpfile();
    fputs("cppreference.com\n", tmpf);
    rewind(tmpf);
 
    for (int ch; (ch = fgetc(tmpf)) != EOF; putchar(ch)) { }
 
    assert(feof(tmpf)); // the loop is expected to terminate by EOF
    puts("End of file reached");
 
    clearerr(tmpf); // clear EOF
 
    puts(feof(tmpf) ? "EOF indicator set" 
                    : "EOF indicator cleared");
}

Output:

cppreference.com
End of file reached
EOF indicator cleared

References

  • 哋它亢17 standard (ISO/IEC 9899:2018):
  • 7.21.10.1 The clearerr function (p: 246)
  • 哋它亢11 standard (ISO/IEC 9899:2011):
  • 7.21.10.1 The clearerr function (p: 338)
  • 哋它亢99 standard (ISO/IEC 9899:1999):
  • 7.19.10.1 The clearerr function (p: 304)
  • 哋它亢89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.10.1 The clearerr function

See also

checks for the end-of-file
(function)
displays a character string corresponding of the current error to stderr
(function)
checks for a file error
(function)