// Записываем компоненты файла f в обратном порядке в файл g
reverse(components.begin(), components.end());
for (const auto& component : components)
{
output_file << component << endl;
}
output_file.close();
return 0;
}
В данном примере используются библиотеки iostream и fstream для работы с файлами, а также vector для хранения компонент файла в памяти. Файл f считывается строка за строкой с помощью функции getline, и каждая строка добавляется в вектор components. Затем компоненты записываются в обратном порядке в файл g с помощью функции reverse и цикла for. Внимание, в коде не проверяется, существуют ли файлы f.txt и g.txt.
0 votes Thanks 1
melfoy
спасибо, но почему-то оно просто записывается в файл g, а не в противоположном
Answers & Comments
Код на C++:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// Открываем файл f для чтения
ifstream input_file("f.txt");
if (!input_file.is_open())
{
cout << "Ошибка открытия файла f.txt" << endl;
return 1;
}
// Читаем компоненты файла f в вектор строк
vector<string> components;
string line;
while (getline(input_file, line))
{
components.push_back(line);
}
input_file.close();
// Открываем файл g для записи
ofstream output_file("g.txt");
if (!output_file.is_open())
{
cout << "Ошибка открытия файла g.txt" << endl;
return 1;
}
// Записываем компоненты файла f в обратном порядке в файл g
reverse(components.begin(), components.end());
for (const auto& component : components)
{
output_file << component << endl;
}
output_file.close();
return 0;
}
В данном примере используются библиотеки iostream и fstream для работы с файлами, а также vector для хранения компонент файла в памяти. Файл f считывается строка за строкой с помощью функции getline, и каждая строка добавляется в вектор components. Затем компоненты записываются в обратном порядке в файл g с помощью функции reverse и цикла for. Внимание, в коде не проверяется, существуют ли файлы f.txt и g.txt.