clearerr_s

 

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_s.

Resets the error indicator for a stream. This is a version of clearerr with security enhancements as described in Security Features in the CRT.

Syntax

errno_t clearerr_s(  
   FILE *stream   
);  

Parameters

stream
Pointer to FILE structure

Return Value

Zero if successful; EINVAL if stream is NULL.

Remarks

The clearerr_s 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_s, 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 EINVAL.

Requirements

Routine Required header
clearerr_s <stdio.h>

For additional compatibility information, see Compatibility in the Introduction.

Example

// crt_clearerr_s.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;  
   errno_t err;  
  
   // Create an error by writing to standard input.  
   putc( 'c', stdin );  
   if( ferror( stdin ) )  
   {  
      perror( "Write error" );  
      err = clearerr_s( stdin );  
      if (err != 0)  
      {  
         abort();  
      }  
   }  
  
   // See if read causes an error.  
   printf( "Will input cause an error? " );  
   c = getc( stdin );  
   if( ferror( stdin ) )  
   {  
      perror( "Read error" );  
      err = clearerr_s( stdin );  
      if (err != 0)  
      {  
         abort();  
      }  
   }  
}  
n    
      nWrite error: Bad file descriptor  
Will input cause an error? n  

.NET Framework Equivalent

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

See Also

Error Handling
Stream I/O
clearerr
_eof
feof
ferror
perror, _wperror