Función de la biblioteca C -fread()

C 标准库 - <stdio.h>Biblioteca estándar de C - <stdio.h>

Descripción

Función de la biblioteca Csize_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)Desde el flujo dadostreamlee datos enptrel arreglo al que apunta 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 un puntero a un bloque de memoria con un tamaño mínimo desize*nmembbytes.
  • size-- Este es el tamaño de cada elemento que se va a leer, en bytes.
  • nmemb-- Este es el número de elementos, cada uno con un tamaño de size bytes.
  • stream-- Este es un puntero a un objeto FILE que especifica un flujo de entrada.

Valor de retorno

El número total de elementos leídos con éxito se devuelve como un objeto size_t, que es un tipo de datos entero. Si el total difiere del parámetro nmemb, puede que se haya producido un error o que se haya llegado al final del archivo.

Ejemplo

El siguiente ejemplo demuestra el uso de la función fread().

Ejemplo

#include <stdio.h>
#include <string.h>
 
int main()
{
   FILE *fp;
   char c[] = "This is ejemplo";
   char buffer[20];
 
   /* Abrir el archivo para lectura y escritura */
   fp = fopen("file.txt", "w+");
 
   /* Escribir datos en el archivo */
   fwrite(c, strlen(c) + 1, 1, fp);
 
   /* Buscar el inicio del archivo */
   fseek(fp, 0, SEEK_SET);
 
   /* Leer y mostrar los datos */
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);
   
   return(0);
}

Compilemos y ejecutemos el programa anterior. Esto creará un archivofile.txty luego escribirá el contenidoThis is ejemplo. A continuación, usamos lafseek()función para restablecer el puntero de escritura al inicio del archivo. El contenido del archivo es el siguiente:

This is ejemplo

C 标准库 - <stdio.h>Biblioteca estándar de C - <stdio.h>

Otras extensiones