C++向文件首部添加一行数据
时间: 2023-09-10 17:07:28 浏览: 157
要向文件的首部添加一行数据,首先需要将文件中的所有数据都往后移动一行。这可以通过以下步骤完成:
1. 打开文件并读取所有数据。
2. 将文件指针移动到文件的末尾。
3. 从末尾开始,依次将每行数据向后移动一行。
4. 将新的数据插入到文件的首行。
5. 关闭文件。
以下是示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
// 打开文件并读取所有数据
ifstream in("data.txt");
vector<string> lines;
string line;
while (getline(in, line)) {
lines.push_back(line);
}
in.close();
// 将文件指针移动到文件末尾
ofstream out("data.txt", ios::out | ios::trunc);
out.seekp(0, ios::end);
// 从末尾开始,依次将每行数据向后移动一行
for (int i = lines.size() - 1; i >= 0; i--) {
out << lines[i] << endl;
}
// 将新的数据插入到文件的首行
out << "New data" << endl;
// 关闭文件
out.close();
return 0;
}
```
注意,上述代码会覆盖原文件的内容,因此在实际使用时需要注意备份原文件。
阅读全文