用c++改文本文件内容,取第17行“=”后边到";"前面的字符串,转为int型再+1,然后重新写到文件里这个位置上
时间: 2024-03-12 09:46:07 浏览: 19
好的,你可以参考下面的代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream inFile("test.txt"); // 打开文件
ofstream outFile("new.txt"); // 创建一个新文件
string line;
int lineNumber = 0;
while (getline(inFile, line)) { // 逐行读取原文件内容
lineNumber++;
if (lineNumber == 17) { // 找到第17行
size_t equalPos = line.find("="); // 找到等号位置
size_t semicolonPos = line.find(";"); // 找到分号位置
string numStr = line.substr(equalPos + 1, semicolonPos - equalPos - 1); // 截取数字字符串
int num = stoi(numStr) + 1; // 转为int并+1
line.replace(equalPos + 1, semicolonPos - equalPos - 1, to_string(num)); // 替换字符串
}
outFile << line << endl; // 写入新文件
}
inFile.close(); // 关闭文件
outFile.close();
return 0;
}
```
代码中的 `test.txt` 是原文件名, `new.txt` 是新文件名。你可以根据实际情况修改文件名。