您好,登錄后才能下訂單哦!
利用C++怎么刪除指定的txt文件中的內(nèi)容?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
方法:
新建一個(gè)中間文件,逐行讀取原文件(test.txt)的內(nèi)容并寫入到中間文件(temp.txt),遇到需要?jiǎng)h除的內(nèi)容則跳過。
再將中間文件的內(nèi)容寫入原文件,刪除中間文件。
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中需要?jiǎng)h除的某一行內(nèi)容,可根據(jù)自己的需要修改 while (getline(in, estr))//得到test.txt中一行的內(nèi)容 { if (!estr.compare(str))//比較test.txt每一行的內(nèi)容和要?jiǎng)h除的是否一致,一致就跳過(不懂為啥跳過看文章開頭的方法) continue; out << estr << "\n";//不一致的內(nèi)容寫到temp.txt中,注意換行 } in.close();//關(guān)閉流 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的內(nèi)容寫到test.txt { outfile<< estr << "\n"; } const char* path = "C:\\Users\\Administrator\\Desktop\\temp.txt"; remove(path);//刪除temp.txt outfile.close();//關(guān)閉流 infile.close()
放個(gè)圖叭
需要?jiǎng)h除的內(nèi)容為:emp3 333
看完上述內(nèi)容,你們掌握利用C++怎么刪除指定的txt文件中的內(nèi)容的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。