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