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++.
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++.