stdio.h


Función clearerr ANSI C

void clearerr(FILE *stream);

La función clearerr despeja los indicadores de final de fichero y de posición de fichero para el stream apuntado por stream al comienzo del fichero.

Valor de retorno:

La función clearerr no retorna ningún valor.

Ejemplo:

#include <stdio.h>

int main( void )
{
   char c='z';
   char nombre[11] = "datos2.dat";
   FILE *fichero;

   if( NULL == (fichero = fopen(nombre, "r")) )
      printf( "ERROR: No se pudo abrir el fichero, %s\n", fichero );

   if( EOF == fputc( c, fichero ) )    printf( "fputc => Error\n" );    /* Creamos un error */
   else   printf( "Caracter: %c, se ha escrito en el fichero: %s\n", c, nombre );    /* No se dará el caso */

   if( ferror(fichero) )
   {
      printf( "Se han encontrado errores al realizar una operacion con el fichero, %s.\n", nombre );
      clearerr( fichero );
      printf( "Los errores han sido despejado para el stream.\n" );
   }
   else    printf( "No hubo errores con el fichero: %s\n", nombre );    /* Tampoco se dará el caso */

   fclose( fichero );

   return 0;
}