Format
#include <stdio.h> void clearerr (FILE *stream);
Language Level: ANSI, POSIX, XPG4
The clearerr function resets the error indicator and end-of-file
indicator for the specified stream. Once set, the
indicators for a specified stream remain set until your program
calls clearerr or rewind. fseek also clears the end-of-file
indicator.
Return Value
There is no return value.
Example
This example reads a data stream and then checks that a
read error has not occurred.
#include <stdio.h> #include <stdlib.h>
FILE *stream; int c;
#if (1 == __TOS_OS2_) #define FILENAME "myfile.dat" /* OS/2 file name */ #if (1 ==__TOS_WIN_) #define FILENAME "myfile.dat" /* Windows file name */ #endif
int main(void)
{
if (NULL != (stream = fopen("FILENAME, "r"))) {
if (EOF == (c=getc(stream))) {
if (feof(stream)) {
perror("Read error");
clearerr(stream);
}
}
}
return 0;
/*****************************************************
If FILENAME is an empty file,
the output should be:
Read error: Attempted to read past end-of-file. *****************************************************/ }
![]()
feof -- Test End-of-File Indicator
ferror -- Test for Read/Write Errors
perror -- Print Error Message
rewind -- Adjust Current File Position
strerror -- Set Pointer to Runtime Error
Message
_strerror -- Set Pointer to System Error
String
<stdio.h>