2017-07-21 8 views
0

多くの小さなファイルに分割されたファイルがあります。例えば、私がfile10にfile10C++複数のファイルを1つの大きなファイルとして読み込むifstreamを追加する方法

file1が10に一つだけのファイル分割され FILE2

file1が...今、私はこれらの10個のファイルを読みたい持っている、と私は10マージ避けたいですファイルのサイズが大きいために1つの大きなファイルを作成するために、複数のファイルを一緒に使用します。あたかも1つの大きなファイルであるかのように、読んでおきたい。

これは私が現在行っていることです。一度に1ファイルずつ読み込みます。

std::ifstream file(filePath, std::ios_base::in | std::ios_base::binary); 
iostreams::filtering_istream input; 
// check if the file is a .gz file by checking the file extension 
if (filePath.compare(filePath.size() - 3, 3, ".gz") == 0) 
{ 
    input.push(iostreams::gzip_decompressor()); 
} 
input.push(file); 

彼らは一つの大きなファイルだかのように次々に複数のファイルを読み取るために、複数のifstreamsを追加する方法はありますか?

すべての後続ファイル(ファイル2〜10)にスキップしたいメタデータ行が4つあるため、ifstreamsを使用したいと思います。

追加方法についてのご協力は大変ありがたいです。

+0

ファイルのベクトルを作成し、ループします。私はあなたが直面している困難が何であるか理解していません。 – CroCo

答えて

0

この疑似コードはあなたを助けるかもしれません。

int main() 
{ 
    // Get files Names (e.g. data1.txt) 
    std::vector<std::string> filesNames; 

    for(i < filesNames.size()){ 
     // Open File 
     // Check if it is opened successfully. 
     // Read data via while() loop 
     // Close File 
    } 

    return 0; 
} 
関連する問題