Введение
В этом практическом занятии мы научимся копировать содержимое одного файла в другой с использованием файловой обработки на языке C++.
В этом практическом занятии мы научимся копировать содержимое одного файла в другой с использованием файловой обработки на языке C++.
В первом шаге мы будем включать необходимые заголовочные файлы и пространства имен, чтобы приступить к написанию кода.
#include <iostream>
#include <fstream>
using namespace std;
В этом шаге мы выполним следующие действия:
ifstream и ofstream.getline() и запишите его в целевой файл с использованием оператора << (то есть скопируйте каждую строку из объекта ifstream в объект 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();
}
В этом шаге мы создадим главную функцию для выполнения операции копирования файла, вызвав нашу функцию copyFile().
int main(){
string sourceFile = "original.txt";
string destinationFile = "copy.txt";
copyFile(sourceFile, destinationFile);
return 0;
}
В этом шаге, так как файл с кодом сохранен в ~/project/main.cpp, мы можем изменить текущую директорию на ~/project и выполнить следующие команды в терминале:
g++ main.cpp -o main
./main
Это будет компилировать и выполнять программу и выводить результат:
Copy Finished
#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;
}
В этом лабораторном задании был создан приложение, которое позволяет пользователям копировать содержимое одного файла в другой с использованием методов обработки файлов на языке C++.