C: Copiar un fichero
Ejemplo de cómo copiar contenido de un fichero en otro, usando el lenguaje C
Lenguaje: C
Categoría: Básico
/* Fuente procedente de ErrorDeSintaxis.es */
/* Ejemplo de cómo copiar contenido de un fichero */
/* en otro, usando el lenguaje C */
/* Nivel: Básico */
/* Disponible desde 28/06/2011 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc06.php */
#include <stdio.h> FILE *fichOrg, *fichDest; /* Los dos ficheros */ char buffer[2048]; /* El buffer para guardar lo que leo */ char nombreOrg[80], /* Los nombres de los ficheros */ nombreDest[80]; int cantidad; /* El número de bytes leídos */ main() { /* Accedo al fichero de origen */ printf("Introduzca el nombre del fichero Origen: "); scanf("%s",nombreOrg); if ((fichOrg = fopen(nombreOrg, "rb")) == NULL) { printf("No existe el fichero origen!\n"); exit(1); } /* Y ahora al de destino */ printf("Introduzca el nombre del fichero Destino: "); scanf("%s",nombreDest); if ((fichDest = fopen(nombreDest, "wb")) == NULL) { printf("No se ha podido crear el fichero destino!\n"); exit(1); } /* Mientras quede algo que leer */ while (! feof(fichOrg) ) { /* Leo datos: cada uno de 1 byte, todos los que me caben */ cantidad = fread( buffer, 1, sizeof(buffer), fichOrg); /* Escribo tantos como haya leído */ fwrite(buffer, 1, cantidad, fichDest); } /* Cierro los ficheros */ fclose(fichOrg); fclose(fichDest); }