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

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 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么