#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream fileIn("1.3.4.txt"); // 假设输入文件名为input.txt
ofstream fileOut("output.txt"); // 输出文件名为output.txt
if (!fileIn || !fileOut) {
cerr << "无法打开文件" << endl;
return 1;
}
string removeString = "your_remove_string"; // 替换成你想删除的字符串
char ch;
bool writing = true;
while (fileIn.get(ch)) {
if (writing) {
fileOut.put(ch);
}
if (ch == removeString[0]) {
// 检查是否匹配整个字符串
string match;
match.push_back(ch);
size_t i = 1;
while (i < removeString.size() && fileIn.get(ch)) {
match.push_back(ch);
if (ch != removeString[i]) {
// 如果不匹配,则将之前匹配的字符写回输出文件
fileOut.write(match.c_str(), match.size());
writing = true;
break;
}
i++;
}
if (i == removeString.size()) {
// 完整匹配,停止写入输出文件
writing = false;
} else {
// 部分匹配,将剩余的字符写回输出文件
fileOut.write(match.c_str() + 1, match.size() - 1);
}
} else {
// 如果不是字符串的开头,则继续写入
writing = true;
}
}
fileIn.close();
fileOut.close();
cout << "已删除指定字符串,结果保存在output.txt中" << endl;
return 0;
}