Introducción
En este laboratorio, aprenderemos cómo copiar el contenido de un archivo a otro utilizando la manipulación de archivos en el lenguaje C++.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, aprenderemos cómo copiar el contenido de un archivo a otro utilizando la manipulación de archivos en el lenguaje C++.
En el primer paso, incluiremos los archivos de encabezado necesarios y los espacios de nombres para continuar con el código.
#include <iostream>
#include <fstream>
using namespace std;
En este paso, realizaremos las siguientes acciones:
ifstream
y ofstream
.getline()
y escribirlo en el destino utilizando el operador <<
(es decir, copiar cada línea del objeto ifstream
al objeto ofstream
).close()
.void copyFile(string sourceFile, string destinationFile){
string line;
// creando objetos ifstream y ofstream
ifstream sourceFileStream(sourceFile);
ofstream destinationFileStream(destinationFile);
// Leyendo del archivo fuente y escribiendo en el archivo destino
if(sourceFileStream.is_open() && destinationFileStream.is_open()){
while(getline(sourceFileStream, line)){
destinationFileStream << line << "\n";
}
cout<<"Copia terminada"<<endl;
}
else{
printf("No se puede leer el archivo");
}
// cerrando archivo
sourceFileStream.close();
destinationFileStream.close();
}
En este paso, crearemos una función principal para realizar la operación de copia de archivos llamando a nuestra función copyFile()
.
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
En este paso, dado que el archivo de código se guarda en ~/proyecto/main.cpp
, podemos cambiar el directorio actual a ~/proyecto y ejecutar los siguientes comandos en la terminal:
g++ main.cpp -o main
./main
Esto compilará y ejecutará el programa y generará la salida:
Copia terminada
#include <iostream>
#include <fstream>
using namespace std;
void copyFile(string sourceFile, string destinationFile){
string line;
// creando objetos ifstream y ofstream
ifstream sourceFileStream(sourceFile);
ofstream destinationFileStream(destinationFile);
// Leyendo del archivo fuente y escribiendo en el archivo destino
if(sourceFileStream.is_open() && destinationFileStream.is_open()){
while(getline(sourceFileStream, line)){
destinationFileStream << line << "\n";
}
cout<<"Copia terminada"<<endl;
}
else{
printf("No se puede leer el archivo");
}
// cerrando archivo
sourceFileStream.close();
destinationFileStream.close();
}
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
En este laboratorio, se creó una aplicación que permite a los usuarios copiar el contenido de un archivo a otro archivo utilizando métodos de manipulación de archivos en el lenguaje C++.