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

问题描述

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

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

解决方案

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;
}

解决方案二:

时间: 2024-09-12 06:58:52

c++-fstream如何将两份相似的文件合并的相关文章

Hive小文件合并研究

背景 Hive query将运算好的数据写回hdfs(比如insert into语句),有时候会产生大量的小文件,如果不采用CombineHiveInputFormat就对这些小文件进行操作的话会产生大量的map task,耗费大量集群资源,而且小文件过多会对namenode造成很大压力.所以Hive在正常job执行完之后,会起一个conditional task,来判断是否需要合并小文件,如果满足要求就会另外启动一个map-only job 或者mapred job来完成合并 参数解释 hiv

文件合并与分隔

思想很简单,将原来的文件统一当作二进制文件依次读取,然后依次写入一个新的二进制文件中,这样就完成了合并操作:反向操作就可以分割文件了-- 先自己定义一个通用的文件表示,比如说下列格式:文件名长度(4字节),文件名,文件长度(4字节),文件内容.然后新建一个文件,将你要加入的文件依次写进(当作二进制文件). 至于还原吗,先读入合并后的文件,然后依次按以下过程还原文件:读入文件名长度,按此长度得到文件名,读入文件长度,按此长度得到文件的内容,写到磁盘上即可.具体的编程见以下例子: //以下为文件合并

window和linux文件合并命令

window和linux文件合并命令 在Windows下实现文件合并,用"copy"命令就能实现: 格式:copy /b <filename1>+<filename2>+-+<filenameN> <filename> 其中/b是二进制合并 在Linux下实现文件合并,用"cat"命令就能实现: 格式:cat filename.log.001 filename.log.002 > filename.log

pdf文件合并教程

  第一步:运行迅捷PDF软件,选择将文件合并为PDF. 第二步:然后就是添加文件到软件中,支持多个PDF文件的批量转换,点击"添加文件"或者将文件直接拖拽到软件中. 第三步:添加完成后点击右下角的"合并软件"即可.

前端js文件合并三种方式

最近在思考前端js文件该如何合并,当然不包括不能合并文件,而是我们能合并的文件,想了想应该也只有三种方式. 三个方式如下: 1. 一个大文件,所有js合并成一个大文件,所有页面都引用它. 2. 各个页面大文件,各自页面合并生成自己所需js的大文件. 3. 合并多个共用大文件,根据实践情况合并出多个共用js文件,每个页面引用多个共用大文件. 另外在我看来,合并有两个目的: 1. 为了减少请求数. 2. 代码安全考虑(文件分得越多,越容易被人看清). PS:注意我说的不是压缩混淆,只是合并 1. 一

java操作excel,用jxl将多个excel文件合并成一个多sheet的excel文件,颜色会出错

问题描述 java操作excel,用jxl将多个excel文件合并成一个多sheet的excel文件,颜色会出错 程序代码如下: public class Main { public static void main(String[] args) { try { InputStream fis1 = new FileInputStream("D:/fei/testfiles/2G囤卡量.xls"); InputStream fis2 = new FileInputStream(&quo

word-Word文件合并 保持源文件页眉页脚

问题描述 Word文件合并 保持源文件页眉页脚 怎样将多个Word文件合并 ,并保持源文件页眉页脚不变,求教各位大神,谢谢! 解决方案 ****先插入换行符用插入文件的方法 解决方案二: 先合并了之后,再统一修改不就得了...为了下载,才回复 解决方案三: 插入分隔符之后,在下一页 插入文件应该就可以了 解决方案四: 不好意思,忘了说是用C#代码实现

windows-百度百科-&amp;amp;quot;文件合并&amp;amp;#39;的原理是什么

问题描述 百度百科-"文件合并'的原理是什么 百度百科,"文件合并'http://baike.baidu.com/link?url=iSsYC831eBfLfel_2YIJcgmsSAsbMYaI6SDREWW9DYPw8lRl7uJEijOPlcvOAWHpBsHrolj62TUfGliIZ4jQEq 定义编辑 在Windows系统中,两个文件可以通过命令提示符来合并成一个文件,目的是为了隐藏重要数据. 其中,jpg.rar合并是一个典型的例子,并且有着举足轻重的作用. 例如:1.j

Mapinfo怎样把tab文件合并?

问题描述 大家好,请问如何在MAPINFO中把几千个TAB文件合并成一个TAB文件? 解决方案 解决方案二:写mapbasic程序可以实现.解决方案三:具体如何使用啊?