首页 > 代码库 > 文本文件合并(C++实现)
文本文件合并(C++实现)
直接附上代码吧
#include<iostream> #include<fstream> #include<cstdlib> using namespace std; void write_into_file(){ cout<<"请输入合成后生成的文件名:"<<endl; string Des_FileName; cin>>Des_FileName; cout<<endl; cout<<"请输入想要合并原始文件个数:"<<endl; int cnt; cin>>cnt; cout<<endl; string Source_Array_FileName[cnt];//保存将要合并的各文件 for(int i=0;i!=cnt;++i){ cout<<"请输入第"<<i+1<<"个原始文件:"<<endl; cin>>Source_Array_FileName[i]; } ofstream outfile(Des_FileName,ios::out);//定义输出文件流对象,并赋初值,指定模式 ifstream infile;//定义一个输入文件流对象 char c;//用来暂存从文件独处的一个字符 for(string Temp_FileName : Source_Array_FileName){ infile.open(Temp_FileName,ios::in); if(!infile){ cerr<<"打开文件 "<<Temp_FileName<<" 失败"<<endl; } while(infile.get(c)){ outfile<<c; } infile.close(); cout<<Temp_FileName<<endl; } outfile.close(); cout<<"文件合并已完成"<<endl; } int main(){ write_into_file(); system("pause"); return 0; }
总的来说,思路特别简单,打开一个文件,就将此文件的内容存入到目标文件中,然后执行下一个文件操作,不过吧,还是有需要注意的
在将一个源文件的内容已经转存入目标文件后,在打开另外一个源文件之前,必须先将当前的输入文件流关联的源文件关闭,即用infile.close(),不然就不能打开下一个文件
文本文件合并(C++实现)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。