利用C++怎么删除指定的txt文件中的内容?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
方法:
新建一个中间文件,逐行读取原文件(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
看完上述内容,你们掌握利用C++怎么删除指定的txt文件中的内容的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。