zoukankan      html  css  js  c++  java
  • 文本文件合并(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];
            cout<<endl;
        }
        cout<<"请稍后,马上开始合并!"<<endl<<endl;
        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<<endl; infile.close(); cout<<Temp_FileName<<"已经合并到目标文件"<<endl; } outfile.close(); cout<<"所有文件合并已完成"<<endl; } int main(){ write_into_file(); system("pause"); return 0; }

     总的来说,思路特别简单,打开一个文件,就将此文件的内容存入到目标文件中,然后执行下一个文件操作,不过吧,还是有需要注意的

    在将一个源文件的内容已经转存入目标文件后,在打开另外一个源文件之前,必须先将当前的输入文件流关联的源文件关闭,即用infile.close(),不然就不能打开下一个文件

    再附上一个测试结果吧

  • 相关阅读:
    利用clear清除浮动的一些问题
    配置SpringBoot方便的切换jar和war
    java并发实战:连接池实现
    canvas绘制圆角头像
    对象的合并及拷贝
    JS数组去重
    浏览器端用JS实现创建和下载图片
    超过固定宽度(或行数)显示...(或省略)
    ssh实现免密登录
    Mac 日常使用问题收集
  • 原文地址:https://www.cnblogs.com/-beyond/p/6914230.html
Copyright © 2011-2022 走看看