aoeu
#include <iostream>
#include <fstream>
#include <cmath>
#include <boost/iostreams/filtering_streambuf.hpp>
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/iostreams/filter/gzip.hpp>
using namespace std;
using namespace boost::iostreams;
int main(int argc,char* argv[]){
for(int i=1;i<argc;i++){
printf("reading file %d/%d: %s ...\n",i,argc-1,argv[i]);
ifstream file(argv[i], ios_base::in | ios_base::binary);
try{
filtering_istream in;
in.push(gzip_decompressor());
in.push(file);
for(string str;getline(in,str);){
cout << str << endl;
}
cout << "total line=" << i << endl;
}
catch(const boost::iostreams::gzip_error& e){
std::cout << e.what() << '\n';
}
break;
}
return 0;
}
aoeuao