Введение
В этом практическом занятии мы научимся копировать содержимое одного файла в другой с использованием файловой обработки на языке 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++.