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,这个怎么实现?
展开
1个回答
展开全部
很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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询