c++清空本地某文件的一行内容再写入新的内容
时间: 2024-02-17 20:01:13 浏览: 10
你可以使用文件流(fstream)来完成这个任务。首先,打开文件并且读取其中所有行到一个字符串数组中。然后,你可以修改你想要修改的行,最后将所有行写回到文件中。
以下是一个示例代码,假设你想要修改文件中的第三行:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
ifstream inFile;
ofstream outFile;
string line;
string lines[100];
int lineNum = 0;
// 打开文件并读取所有行到字符串数组
inFile.open("example.txt");
while (getline(inFile, line)) {
lines[lineNum] = line;
lineNum++;
}
inFile.close();
// 修改第三行
lines[2] = "This is a new line.";
// 打开文件并将所有行写回
outFile.open("example.txt", ios::out | ios::trunc);
for (int i = 0; i < lineNum; i++) {
outFile << lines[i] << endl;
}
outFile.close();
return 0;
}
```
在这个示例代码中,文件名为 "example.txt",并且第三行被修改为 "This is a new line."。请注意,这个示例代码只处理了文件中的前100行。如果你的文件更大,你需要使用动态数组(vector)来存储所有行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)