c++:删除txt文件内容中的某一行(有100个文件,需要批量执行)

有一系列的文件,如:a-1.txt,a-2.txt,...,a-100.txt,需要批量删除中间的某一行(这一系列的文件均为删除同样的一行),然后分别保存文件为cut-a... 有一系列的文件,如:a-1.txt,a-2.txt,...,a-100.txt,需要批量删除中间的某一行(这一系列的文件均为删除同样的一行),然后分别保存文件为cut-a-1.txt,cut-a-2.txt,...,cut-a-100.txt,这个怎么实现? 展开
 我来答
百度网友6ff0b05579
2013-11-13 · TA获得超过494个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:221万
展开全部
很easy 读取第一个文件 ifstream 逐行读取文件 getline 是否需要删除: 1不需要删除 ofstream 输出 2需要删除 跳过该行进入下一行 一直到第一个文件最后一行 然后读取下一个文件
追答
//如果满意请采纳最佳答案~
#include <iostream>
#include <string>
#include <fstream>
#include <ostream>
#include <cstdlib>
#include <vector>
#include <sstream>
using namespace std;

string itos(int i)
{
ostringstream str;
str << i;
return str.str();
}

int main()
{
int n;
cout<<"Please input the line number you want to del:"<<endl;
cin>>n;

for(int i = 1; i <= 100;++i)
{
string openname = "E://a-" + itos(i)+".txt";  //我这边测试的在E盘 你自己修改文件保存路径
string savename = "E://cut-a-"+ itos(i)+".txt";
fstream file(openname.c_str());
ofstream outfile(savename,ios::out|ios::trunc);

int count = 0;
while(!file.eof())
{
string line;
getline(file,line);
if(count != n-1)
outfile << line << endl;
count++;
}

outfile.close();
file.close();
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式