用c++改文本文件内容,改第17行第35个字符串
时间: 2024-03-12 18:45:48 浏览: 18
可以使用以下代码来实现:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
// 打开文本文件
ifstream infile("example.txt");
if (!infile.is_open()) {
cout << "无法打开文件!" << endl;
return 1;
}
// 读取文件内容
string line;
int line_num = 0;
while (getline(infile, line)) {
line_num++;
if (line_num == 17) {
if (line.size() < 35) {
cout << "第17行字符串不足35个!" << endl;
return 1;
}
line[34] = 'X'; // 将第35个字符改为 'X'
}
}
// 关闭文件
infile.close();
// 重新写入文件
ofstream outfile("example.txt");
if (!outfile.is_open()) {
cout << "无法写入文件!" << endl;
return 1;
}
infile.open("example.txt");
while (getline(infile, line)) {
outfile << line << endl;
}
// 关闭文件
infile.close();
outfile.close();
cout << "操作完成!" << endl;
return 0;
}
```
请将 `example.txt` 替换为你要修改的文本文件的文件名。注意,这段代码只适用于修改第17行字符串长度大于等于35的情况,如果长度不够,请根据实际情况进行修改。