c++中 将一个文本文件中的内容按倒序方式输出到新建文本文件,试编写相应程序
时间: 2024-02-24 15:54:56 浏览: 231
以下是一个简单的 C++ 代码示例,可以实现将一个文本文件中的内容按倒序方式输出到新建文本文件:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// 打开输入文件
ifstream input_file("input.txt");
if (!input_file) {
cerr << "Failed to open input file." << endl;
return 1;
}
// 读取输入文件中的所有行
vector<string> lines;
string line;
while (getline(input_file, line)) {
lines.push_back(line);
}
// 关闭输入文件
input_file.close();
// 将所有行倒序排列
reverse(lines.begin(), lines.end());
// 打开输出文件
ofstream output_file("output.txt");
if (!output_file) {
cerr << "Failed to open output file." << endl;
return 1;
}
// 将所有行按照倒序方式写入输出文件
for (const auto& line : lines) {
output_file << line << endl;
}
// 关闭输出文件
output_file.close();
cout << "Done." << endl;
return 0;
}
```
解释一下代码的逻辑:
- 首先打开输入文件,如果打开失败则输出错误信息并退出程序。
- 使用`while`循环逐行读取输入文件中的所有行,并将其存储到一个`vector<string>`容器中。
- 关闭输入文件。
- 使用`reverse`算法将所有行倒序排列。
- 打开输出文件,如果打开失败则输出错误信息并退出程序。
- 使用`for`循环将所有行按照倒序方式写入输出文件中。
- 关闭输出文件。
- 输出提示信息并退出程序。
阅读全文