Share via


clearerr_s

Réinitialise l'indicateur d'erreur pour un flux.Il s'agit d'une version de clearerr avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.

errno_t clearerr_s(
   FILE *stream 
);

Paramètres

  • stream
    Pointeur vers la structure d' FILE

Valeur de retour

Zéro si l'opération a réussi ; EINVAL si stream est NULL.

Notes

la fonction d' clearerr_s réinitialise l'indicateur et l'indicateur de fin de fichier d'erreurs pour stream.Les indicateurs d'erreurs ne sont pas automatiquement désactivés ; une fois 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'à clearerr_s, clearerr, fseek, fsetpos, ou rewind est appelé.

si stream est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, les ensembles errno de cette fonction à EINVAL et retourne EINVAL.

Configuration requise

routine

en-tête requis

clearerr_s

<stdio.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Exemple

// 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();
      }
   }
}
  erreur
 de nnWrite : Incorrect descripteur de fichier
l'entrée provoquera-elle une erreur ? n

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Gestion des erreurs (CRT)

E/S de flux

clearerr

_eof

feof

ferror

perror, _wperror