Función de biblioteca C - fread ()
Descripción
La función de la biblioteca C size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) lee datos de lo dado stream en la matriz apuntada, por ptr.
Declaración
A continuación se muestra la declaración de la función fread ().
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Parámetros
ptr- Este es el puntero a un bloque de memoria con un tamaño mínimo de * nmemb bytes.
size - Este es el tamaño en bytes de cada elemento a leer.
nmemb - Este es el número de elementos, cada uno con un tamaño de size bytes.
stream - Este es el puntero a un objeto FILE que especifica un flujo de entrada.
Valor devuelto
El número total de elementos leídos correctamente se devuelve como un objeto size_t, que es un tipo de datos integral. Si este número difiere del parámetro nmemb, entonces se produjo un error o se alcanzó el final del archivo.
Ejemplo
El siguiente ejemplo muestra el uso de la función fread ().
#include <stdio.h>
#include <string.h>
int main () {
FILE *fp;
char c[] = "this is tutorialspoint";
char buffer[100];
/* Open file for both reading and writing */
fp = fopen("file.txt", "w+");
/* Write data to the file */
fwrite(c, strlen(c) + 1, 1, fp);
/* Seek to the beginning of the file */
fseek(fp, 0, SEEK_SET);
/* Read and display data */
fread(buffer, strlen(c)+1, 1, fp);
printf("%s\n", buffer);
fclose(fp);
return(0);
}
Compilemos y ejecutemos el programa anterior que creará un archivo file.txty escribe un contenido, esto es tutorialspoint . Después de eso, usamosfseek() función para restablecer el puntero de escritura al principio del archivo y preparar el contenido del archivo, que es el siguiente:
this is tutorialspoint