¿Cómo determina la función fread() si se ha llegado al final del archivo?
Funciones relacionadas fopen, fwrite, fseek, fscanf
Archivo de encabezado #include
Definir la función size_tfraed (void * ptr, size_t size , size_t nmemb, file * stream);
Descripción de la función fread() se utiliza para leer datos de la secuencia del archivo.
El flujo de parámetros es un puntero de archivo abierto.
El parámetro ptr apunta al espacio de datos que se almacenará y el número de caracteres que se leerán está determinado por el parámetro size*nmemb.
Fread() devolverá el número de nmemb realmente leído. Si el valor es menor que el parámetro nmemb, significa que es posible que se haya leído el final del archivo o que se haya producido un error. En este caso, se debe utilizar feof() o ferror() para determinar qué sucedió.
El valor de retorno devuelve el número de nmemb realmente leídos.
Notas adicionales
Ejemplo #incluye
#Definir nmemb 3
Prueba estructural
{
nombre de char[20];
tamaño int;
} s[nmemb];
main()
{
Archivo * flujo;
int I;
flujo = fopen("/tmp/fwrite ", " r "); p>fread(s, sizeof(struct test), nmemb, stream);
fclose(stream);
for(I = 0; i<nmembi++)
printf(" nombre[% d]= %-20s:tamaño[% d]= % d \ n ", I, s[i]. Nombre, I, s[i]. Tamaño);
}
Nombre de ejecución[0]=Linux! tamaño[0]=6
nombre[1]=FreeBSD! tamaño[1]=8
nombre[2]= tamaño de windows 2000[2]= 11
================== = =======
Feof (comprueba si la secuencia del archivo ha leído el final del archivo)
Funciones relacionadas fopen, fgetc, fgets, fread
Archivo de encabezado #include
Definir función int feof(FILE * stream);
Descripción de la función feof() se utiliza para detectar si se ha leído el final del documento. y la secuencia de mantisa es fopen () devuelve el puntero del documento. Devuelve un valor distinto de cero si se llega al final del archivo; 0 en caso contrario.
Un valor de retorno distinto de cero indica que se ha llegado al final del archivo.