c++清空文件某一行内容重新写入
时间: 2023-09-09 16:10:46 浏览: 159
利用C语言替换文件中某一行的方法
我们可以按照以下步骤清空文件某一行内容并重新写入:
1. 打开文件并读取每一行内容。
2. 找到需要修改的行,将其内容清空。
3. 将需要写入的新内容写入到该行。
4. 关闭文件。
以下是一个示例代码,可以实现上述功能:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string filename = "test.txt"; // 文件名
int line_num = 3; // 需要修改的行数
string new_content = "new content"; // 需要写入的新内容
ifstream infile(filename);
ofstream outfile("temp.txt"); // 创建一个临时文件
string line;
int count = 1; // 记录当前读取的行数
// 读取每一行内容并进行修改
while (getline(infile, line)) {
if (count == line_num) { // 如果是需要修改的行
outfile << new_content << endl; // 写入新内容
} else {
outfile << line << endl; // 写入原内容
}
count++;
}
infile.close();
outfile.close();
// 删除原文件并将临时文件重命名为原文件名
remove(filename.c_str());
rename("temp.txt", filename.c_str());
return 0;
}
```
在这个示例代码中,我们首先打开文件并读取每一行内容。然后找到需要修改的行,将其内容清空,并将需要写入的新内容写入到该行。最后,我们关闭文件,并将临时文件重命名为原文件名,以实现对原文件的修改。
阅读全文