iostream filter chain

FILE* pf = popen("/bin/tar xf - ", "w");
 if (pf != NULL) {
            ifstream file(src_file, ios_base::in | ios_base::binary);
            io::filtering_streambuf<input> in;
            in.push(io::gzip_decompressor());
            in.push(file);
            io::file_descriptor_sink out(fileno(pf));
            io::copy(in, out);
            pclose(pf);
}
 

A piece of code demo the input iostream filter chain.

你可能感兴趣的:(ios)