clearerr
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at clearerr.
Resets the error indicator for a stream. A more secure version of this function is available; see clearerr_s.
Syntax
void clearerr(
FILE *stream
);
Parameters
stream
Pointer to FILE
structure.
Remarks
The clearerr
function resets the error indicator and end-of-file indicator for stream
. Error indicators are not automatically cleared; once the error indicator for a specified stream is set, operations on that stream continue to return an error value until clearerr
, fseek
, fsetpos
, or rewind
is called.
If stream
is NULL
, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, this function sets errno
to EINVAL
and returns. For more information on errno
and error codes, see errno Constants.
A more secure version of this function is available; see clearerr_s.
Requirements
Routine | Required header |
---|---|
clearerr |
<stdio.h> |
For additional compatibility information, see Compatibility in the Introduction.
Example
// crt_clearerr.c
// This program creates an error
// on the standard input stream, then clears
// it so that future reads won't fail.
#include <stdio.h>
int main( void )
{
int c;
// Create an error by writing to standard input.
putc( 'c', stdin );
if( ferror( stdin ) )
{
perror( "Write error" );
clearerr( stdin );
}
// See if read causes an error.
printf( "Will input cause an error? " );
c = getc( stdin );
if( ferror( stdin ) )
{
perror( "Read error" );
clearerr( stdin );
}
else
printf( "No read error\n" );
}
n
nWrite error: No error
Will input cause an error? n
No read error
.NET Framework Equivalent
Not applicable. To call the standard C function, use PInvoke
. For more information, see Platform Invoke Examples.