boost :: iostream zlib сжимает несколько файлов в один архив

У меня проблемы с упаковкой кучи файлов в один архив. документы по ускорению очень ограничены по этой теме, и я уже несколько часов искал в Интернете, но не могу найти решения.

Что у меня есть:

boost::filesystem::ofstream ofsArchive("some.zip");
boost::iostreams::filtering_ostreambuf outFilter;
boost::iostreams::zlib_params zparam(boost::iostreams::zlib::default_compression);

try
{
    // set up the filter
    outFilter.strict_sync();
    outFilter.push(boost::iostreams::zlib_compressor(zparam));
    outFilter.push(ofsArchive);


    for(each object of some kind)
    {
        // create a binary serialized file
        boost::filesystem::ofstream ofs(filename, std::ios_base::binary); 
        boost::archive::binary_oarchive bin_oa( ofs ); 
        bin_oa << crazyObject;

        // here's where i'm stuck. how to add multiple files to the "some.zip"?
        boost::iostreams::copy(ofs, outputArchive);
    }
}
catch(boost::iostreams::zlib_error& e){...}

как мне добавить файлы в zip-архив? предоставленный метод явно не работает, я просто не могу найти ничего по этой теме в документации или заголовочных файлах

8
задан cppanda 10 February 2011 в 18:32
поделиться