Introduction
Dans ce laboratoire, nous allons apprendre à copier le contenu d'un fichier dans un autre en utilisant la manipulation de fichiers en langage C++.
Inclure les fichiers d'en-tête et les espaces de noms
Dans la première étape, nous allons inclure les fichiers d'en-tête et les espaces de noms nécessaires pour poursuivre le code.
#include <iostream>
#include <fstream>
using namespace std;
Copier un fichier dans un autre
Dans cette étape, nous allons effectuer les actions suivantes :
- Créer des objets des classes
ifstreametofstream. - Vérifier s'ils sont connectés à leurs fichiers respectifs. Si c'est le cas, continuez, sinon vérifiez deux fois les noms de fichiers. Lire le contenu du fichier source en utilisant la méthode
getline()et l'écrire dans la destination en utilisant l'opérateur<<(c'est-à-dire copier chaque ligne de l'objetifstreamdans l'objetofstream). - Fermer les fichiers après la copie en utilisant la méthode
close().
void copyFile(string sourceFile, string destinationFile){
string line;
// creating ifstream and ofstream objects
ifstream sourceFileStream(sourceFile);
ofstream destinationFileStream(destinationFile);
// Reading from source file and writing to destination file
if(sourceFileStream.is_open() && destinationFileStream.is_open()){
while(getline(sourceFileStream, line)){
destinationFileStream << line << "\n";
}
cout<<"Copy Finished"<<endl;
}
else{
printf("Cannot read File");
}
//closing file
sourceFileStream.close();
destinationFileStream.close();
}
Fonction principale
Dans cette étape, nous allons créer une fonction principale pour effectuer l'opération de copie de fichier en appelant notre fonction copyFile().
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
Compiler et exécuter
Dans cette étape, puisque le fichier de code est enregistré dans ~/project/main.cpp, nous pouvons changer le répertoire actuel vers ~/project et exécuter les commandes suivantes dans le terminal :
g++ main.cpp -o main
./main
Cela compilera et exécutera le programme et produira la sortie :
Copy Finished
Code final
#include <iostream>
#include <fstream>
using namespace std;
void copyFile(string sourceFile, string destinationFile){
string line;
// creating ifstream and ofstream objects
ifstream sourceFileStream(sourceFile);
ofstream destinationFileStream(destinationFile);
// Reading from source file and writing to destination file
if(sourceFileStream.is_open() && destinationFileStream.is_open()){
while(getline(sourceFileStream, line)){
destinationFileStream << line << "\n";
}
cout<<"Copy Finished"<<endl;
}
else{
printf("Cannot read File");
}
//closing file
sourceFileStream.close();
destinationFileStream.close();
}
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
Résumé
Dans ce laboratoire, une application a été créée permettant aux utilisateurs de copier le contenu d'un fichier dans un autre fichier en utilisant des méthodes de gestion de fichiers en langage C++.



