C++實現刪除txt文件中的指定內容
默認明白C++的文件輸入輸出流
方法:
新建一箇中間文件,逐行讀取原文件(test.txt)的內容並寫入到中間文件(temp.txt),遇到需要刪除的內容則跳過。
再將中間文件的內容寫入原文件,刪除中間文件。
fstream in("C:\\Users\\Administrator\\Desktop\\test.txt", ios::in);//原文件
fstream out("C:\\Users\\Administrator\\Desktop\\temp.txt", ios::out);//中間文件
string name, pass, str, estr;
cout << "輸入1:" << endl;
cin >> name;
cout << "輸入2:" << endl;
cin >> pass;
str = name.append(" ").append(pass);//test.txt中需要刪除的某一行內容,可根據自己的需要修改
while (getline(in, estr))//得到test.txt中一行的內容
{
if (!estr.compare(str))//比較test.txt每一行的內容和要刪除的是否一致,一致就跳過(不懂爲啥跳過看文章開頭的方法)
continue;
out << estr << "\n";//不一致的內容寫到temp.txt中,注意換行
}
in.close();//關閉流
out.close();
fstream outfile("C:\\Users\\Administrator\\Desktop\\test.txt", ios::out);
fstream infile("C:\\Users\\Administrator\\Desktop\\temp.txt", ios::in);
while (getline(infile, estr)) //將temp.txt的內容寫到test.txt
{
outfile<< estr << "\n";
}
const char* path = "C:\\Users\\Administrator\\Desktop\\temp.txt";
remove(path);//刪除temp.txt
outfile.close();//關閉流
infile.close();
放個圖叭
需要刪除的內容爲:emp3 333
啪!很快啊,傳統編程,講究點到爲止!
耗子尾汁~