stdio.h
Función feof ANSI C
int feof(FILE *stream);
La función feof comprueba el indicador de final de fichero para el stream apuntado por stream.
Valor de retorno:
La función feof retorna un valor distinto a cero si y sólo si el indicador de final de fichero está activado para stream.
Ejemplo:
#include <stdio.h> int main( void ) { int tamanyo=0; FILE *ficheroEntrada, *ficheroSaliada; char nombreEntrada[11]="datos2.dat", nombreSalida[11]="datos3.dat"; ficheroEntrada = fopen( nombreEntrada, "r" ); printf( "Fichero de Lectura: %s -> ", nombreEntrada ); if( ficheroEntrada ) printf( "existe (ABIERTO)\n" ); else { printf( "Error (NO ABIERTO)\n" ); return 1; } ficheroSalida = fopen( nombreSalida, "w" ); printf( "Fichero de Lectura: %s -> ", nombreSalida ); if( ficheroSalida ) printf( "creado (ABIERTO)\n" ); else { printf( "Error (NO ABIERTO)\n" ); return 1; } while( !feof(ficheroEntrada) ) { fputc( fgetc(ficheroEntrada)+3, ficheroSalida ); /* Desplazar cada carácter 3 caracteres: a -> d, b -> e, ... */ tamanyo++; } printf( "El fichero \'%s\' contiene %d caracteres.\n", nombreEntrada, tamanyo ); if( !fclose(ficheroSalida) ) printf( "Fichero: %s cerrado\n", nombreSalida ); else { printf( "Error: fichero: %s NO CERRADO\n", nombreSalida ); return 1; } if( !fclose(ficheroEntrada) ) printf( "Fichero: %s cerrado\n", nombreEntrada ); else { printf( "Error: fichero: %s NO CERRADO\n", nombreEntrada ); return 1; } return 0; }