Introdução
Neste laboratório, aprenderemos como copiar o conteúdo de um arquivo para outro usando o tratamento de arquivos na linguagem C++.
Neste laboratório, aprenderemos como copiar o conteúdo de um arquivo para outro usando o tratamento de arquivos na linguagem C++.
No primeiro passo, incluiremos os arquivos de cabeçalho e namespaces necessários para prosseguir com o código.
#include <iostream>
#include <fstream>
using namespace std;
Nesta etapa, realizaremos as seguintes ações:
ifstream e ofstream.getline() e escrever o mesmo no destino usando o operador << (ou seja, copiar cada linha do objeto ifstream para o objeto ofstream).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();
}
Nesta etapa, criaremos uma função principal para realizar a operação de cópia de arquivos, chamando nossa função copyFile().
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
Nesta etapa, como o arquivo de código está salvo em ~/project/main.cpp, podemos alterar o diretório atual para ~/project e executar os seguintes comandos no terminal:
g++ main.cpp -o main
./main
Isso compilará e executará o programa, produzindo a saída:
Copy Finished
#include <iostream>
#include <fstream>
using namespace std;
void copyFile(string sourceFile, string destinationFile){
string line;
// criando objetos ifstream e ofstream
ifstream sourceFileStream(sourceFile);
ofstream destinationFileStream(destinationFile);
// Lendo do arquivo de origem e escrevendo no arquivo de destino
if(sourceFileStream.is_open() && destinationFileStream.is_open()){
while(getline(sourceFileStream, line)){
destinationFileStream << line << "\n";
}
cout<<"Copy Finished"<<endl;
}
else{
printf("Cannot read File");
}
// fechando o arquivo
sourceFileStream.close();
destinationFileStream.close();
}
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
Neste laboratório, foi criado um aplicativo que permite aos usuários copiar o conteúdo de um arquivo para outro arquivo usando métodos de manipulação de arquivos na linguagem C++.