NOMBRE

fwrite - escribe bytes en un archivo

SINOPSIS

Archivo de encabezado

#include <stdio.h>

Prototipo

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

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

DESCRIPCIÓN

Esta función escribe datos en un archivo que ha sido abierto a través de fopen. Espera como entrada:

Por ejemplo, si se va a escribir 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 escritos, que es igual al número de bytes escritos cuando size es 1.

Si ocurre un error o se alcanza el final del archivo, esta función puede devolver un valor menor que nmemb o incluso 0.

EJEMPLOS

#include <stdio.h>

int main(void)
{
    FILE *input = fopen("input.txt", "r");
    if (input == NULL)
    {
        return 1;
    }

    FILE *output = fopen("output.txt", "w");
    if (output == NULL)
    {
        fclose(input);
        return 1;
    }

    char c;
    while (fread(&c, sizeof(char), 1, input))
    {
        fwrite(&c, sizeof(char), 1, output);
    }

    fclose(input);
    fclose(output);
}