如何仅通过搜索一行中的单个单词来删除整行? 例如:“我要删除此行”(这是该行中的句子),我将仅搜索删除的单词,而该行中的其余单词将被删除?
这是我的代码
string deleteline;
string line;
ifstream fin;
fin.open("example.txt");
ofstream temp;
temp.open("temp.txt");
cout << "Enter word: ";
cin >> deleteline;
while (getline(fin,line))
{
if(line != deleteline)
temp << line << endl;
}
temp.close();
fin.close();
remove("example.txt");
rename("temp.txt","example.txt");
答案 0 :(得分:0)
您可以使用以下算法:
或以下内容:
后一种算法可能会更慢,因为它还会复制文件的开头,但是在操作中断时更安全。
答案 1 :(得分:-2)
请使用sstringstream对行进行标记化,以使单词与预期标记匹配,然后将该行写入新文件中