当前位置 : 主页 > 编程语言 > c语言 >

C++实现删除txt文件中指定内容的示例代码

来源:互联网 收集:自由互联 发布时间:2021-05-09
默认明白C++的文件输入输出流 方法: 新建一个中间文件,逐行读取原文件(test.txt)的内容并写入到中间文件(temp.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

test.txt原文件

删除指定内容后的原文件

啪!很快啊,传统编程,讲究点到为止!

到此这篇关于C++实现删除txt文件中指定内容的示例代码的文章就介绍到这了,更多相关C++删除txt指定内容内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

网友评论