Partager via


clearerr_s

Réinitialiser l’indicateur d’erreur pour un flux. Cette fonction est une version des améliorations de clearerr sécurité décrites dans les fonctionnalités de sécurité du CRT.

Syntaxe

errno_t clearerr_s(
   FILE *stream
);

Paramètres

stream
Pointeur désignant la structure FILE

Valeur retournée

Zéro si elle réussit ; EINVAL si stream c’est NULL.

Notes

La fonction clearerr_s réinitialise l’indicateur d’erreur et l’indicateur de fin de fichier pour stream. Les indicateurs d’erreur ne sont pas effacés automatiquement ; une fois que l’indicateur d’erreur d’un flux spécifié est défini, les opérations sur ce flux continuent de retourner une valeur d’erreur jusqu’à ce que clearerr_s, , clearerr, fseek, fsetposou rewind soit appelé.

Si stream a la valeur 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.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
clearerr_s <stdio.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

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

Entrée

n

Sortie

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

Voir aussi

Gestion des erreurs
E/S de flux
clearerr
_eof
feof
ferror
perror, _wperror