我有分解成许多小文件的文件。例如,我有
file1的 文件2 ... file10
file1到file10只是一个分成10个文件。现在我想读取这10个文件,我想避免将10个文件合并在一起创建一个大文件,因为文件很大。我想一个接一个地读它们,好像它是一个大文件。
这就是我现在所拥有的,一次读取一个文件。
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);
有没有办法追加多个ifstream,以便一个接一个地读取多个文件,就好像它们是一个大文件一样?
我想使用ifstreams,因为每个后续文件(文件2到10)都有4个我想跳过的元数据行。
非常感谢任何关于如何追加的帮助。
答案 0 :(得分: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;
}