clearerr_s

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Réinitialise l’indicateur d’erreur pour un flux de données. Il s’agit d’une version de clearerr avec des améliorations de sécurité comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

errno_t clearerr_s(  
   FILE *stream   
);  

Paramètres

stream
Pointeur vers FILE structure

Zéro si l’opération a réussi ; EINVAL if stream is NULL.

Le clearerr_s fonction réinitialise l’indicateur d’erreur et l’indicateur de fin de fichier pour stream. Indicateurs d’erreur ne sont pas supprimées automatiquement ; une fois que l’indicateur d’erreur pour un flux de données spécifié est défini, les opérations sur ce flux continuent retourner une valeur d’erreur jusqu'à ce que clearerr_s, clearerr, fseek, fsetpos, ou rewind est appelée.

Si stream est NULL, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction affecte la valeur errno à EINVAL et retourne EINVAL.

RoutineEn-tête requis
clearerr_s<stdio.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

// 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();  
      }  
   }  
}  

  
      nWrite error: Bad file descriptor  
Will input cause an error? n  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Gestion des erreurs
Flux d’e/s
clearerr
_eof
feof
ferror
pError, _wperror

Afficher: