程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-fstream如何將兩份相似的文件合並

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved