Función fwrite en C

Función fwrite en C:

Sintaxis:

size_t fwrite(void *puntero, size_t tamaño, size_t nregistros, FILE *fichero);

Esta función también está pensada para trabajar con registros de longitud constante y forma pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma longitud almacenados a partir de una dirección de memoria determinada.

El valor de retorno es el número de registros escritos, no el número de bytes. Los parámetros son: un puntero a la zona de memoria donde se almacenarán los datos leídos, el tamaño de cada registro, el número de registros a leer y un puntero a la estructura FILE del fichero del que se hará la lectura.

Ejemplo:

// copia.c: Copia de ficheros

// Uso: copia <fichero_origen> <fichero_destino>

#include <stdio.h>

int main(int argc, char **argv) {

FILE *fe, *fs;

unsigned char buffer[2048]; // Buffer de 2 Kbytes

int bytesLeidos;

    if(argc != 3) {

printf("Usar: copia <fichero_origen> <fichero_destino>\n");

return 1;

}

    // Abrir el fichero de entrada en lectura y binario

fe = fopen(argv[1], "rb");

if(!fe) {

printf("El fichero %s no existe o no puede ser abierto.\n", argv[1]);

return 1;

}

// Crear o sobreescribir el fichero de salida en binario

fs = fopen(argv[2], "wb");

if(!fs) {

printf("El fichero %s no puede ser creado.\n", argv[2]);

fclose(fe);

return 1;

}

// Bucle de copia:

while((bytesLeidos = fread(buffer, 1, 2048, fe)))

fwrite(buffer, 1, bytesLeidos, fs);

// Cerrar ficheros:

fclose(fe);

fclose(fs);

return 0;

}

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *