NOMBRE

fread - leer bytes de un archivo

SINOPSIS

Archivo de cabecera

#include <stdio.h>

Prototipo

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

Piensa en void * como la representación de la dirección del primer byte de cualquier tipo de dato. Piensa en size_t como un long.

DESCRIPCIÓN

Esta función lee datos de un archivo que ha sido abierto mediante fopen. Espera como entrada:

Por ejemplo, si se lee un char a la vez, size sería sizeof(char) (es decir, 1), y nmemb sería 1.

VALOR DE RETORNO

Esta función devuelve el número de elementos leídos, que es igual al número de bytes leídos cuando size es 1.

Si se produce un error o se alcanza el final del archivo, esta función podría devolver un valor menor que nmemb o incluso 0.

El archivo abierto "recuerda" el número de bytes que se han leído correctamente, de modo que las llamadas posteriores a esta función para stream devolverán bytes después de los ya leídos.

EJEMPLOS

#include <stdio.h>

int main(void)
{
    FILE *file = fopen("cs50.txt", "r");
    if (file != NULL)
    {
        char c;
        while (fread(&c, sizeof(char), 1, file))
        {
            printf("%c", c);
        }
        fclose(file);
    }
}