Programa de copia de archivos

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, crearemos un programa en C para copiar el contenido de un archivo a otro archivo. Leeremos del archivo fuente y escribiremos el contenido en el archivo destino.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/if_else("If...Else") c/ControlFlowGroup -.-> c/while_loop("While Loop") c/FileHandlingGroup -.-> c/write_to_files("Write To Files") c/FileHandlingGroup -.-> c/create_files("Create Files") c/FileHandlingGroup -.-> c/read_files("Read Files") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123311{{"Programa de copia de archivos"}} c/if_else -.-> lab-123311{{"Programa de copia de archivos"}} c/while_loop -.-> lab-123311{{"Programa de copia de archivos"}} c/write_to_files -.-> lab-123311{{"Programa de copia de archivos"}} c/create_files -.-> lab-123311{{"Programa de copia de archivos"}} c/read_files -.-> lab-123311{{"Programa de copia de archivos"}} c/output -.-> lab-123311{{"Programa de copia de archivos"}} end

Estructura de archivo

Crea un nuevo archivo C llamado main.c. Este archivo contendrá la lógica del programa.

Incluye las bibliotecas necesarias

Necesitamos incluir la biblioteca stdio.h en nuestro programa para trabajar con archivos.

#include <stdio.h>

Declara punteros a archivos

Necesitamos declarar dos punteros a archivos, uno para el archivo fuente y otro para el archivo destino.

FILE *fp1, *fp2;

Abre el archivo fuente

Necesitamos abrir el archivo fuente para lectura. Si el archivo no se puede abrir, imprimiremos un mensaje de error y saldremos del programa.

if ((fp1 = fopen("source.txt", "r")) == NULL) {
    printf("\nFile cannot be opened.");
    return;
}

Abre el archivo destino

Necesitamos crear y abrir el archivo destino para escritura.

fp2 = fopen("destination.txt", "w");

Copia el contenido del archivo

Leeremos el archivo fuente carácter a carácter y escribiremos en el archivo destino hasta que se llegue al final del archivo.

char ch;
while ((ch = fgetc(fp1))!= EOF) {
    fputc(ch, fp2);
}

Cierra los archivos

Después de copiar el contenido, necesitamos cerrar ambos archivos.

fclose(fp1);
fclose(fp2);

Resumen

En este laboratorio, aprendimos cómo leer el contenido de un archivo y escribirlo en otro archivo. Usamos la función fopen() para abrir archivos y las funciones fgetc() y fputc() para leer y escribir el contenido del archivo. Es esencial cerrar los archivos después de completar la tarea usando la función fclose().