Función de la biblioteca C -fread()
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 <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 ejemploOtras extensiones