hyt_ao 2015-07-04 00:37 采纳率: 41.2%
浏览 2678
已采纳

fstream如何将两份相似的文件合并

fstream如何将两份相似的文件合并,例如将1.txt和2.txt合并,1.txt和2.txt里面的内容是表格形式,表头一样,内容不一样,如何将其合并,合并后内容连在一起,表头只有一份

  • 写回答

2条回答 默认 最新

  • Peter(阿斯拉达) 博客专家认证 2015-07-04 14:16
    关注

    1.顺便写了一篇blog. http://blog.csdn.net/infoworld/article/details/46758199

    
    #include <fstream>
    #include <string>
    #include <iostream>
    
    using namespace std;
    
    
    //最后一个参数是输出文件.
    //支持多余2个的文件合并
    //用法,命令行: test.exe 1.txt 2.txt  output.txt
    int main(int argc, char const *argv[])
    {
        cout << "usage1: test.exe 1.txt 2.txt output.txt" << endl;
        cout << "usage2: test.exe 1.txt 2.txt ... output.txt" << endl;
        if(argc <= 3) return -1;
    
        bool first_line_readed = false;
        ofstream fout(argv[argc-1], ios::out);
        for(int i = 1 ; i< argc - 1; ++i)
        {
            ifstream fin(argv[i]);
            string str;
            int line_number = 0;
            while(getline(fin,str))
            {
                if(!line_number)
                {
                    if(!first_line_readed)
                    {
                        first_line_readed = true;
                        str.append("\n");
                        fout.write(str.c_str(),str.size());
                    }               
                }else
                {
                    str.append("\n");
                    fout.write(str.c_str(),str.size());
                }
    
                line_number++;
            }
        }
        cout << "finish..." << argv[argc-1] << endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘