【发布时间】:2011-06-25 01:44:58
【问题描述】:
我无法将一堆文件打包到一个存档中。 boost 文档在这个主题上非常有限,我已经在网上搜索了几个小时,但我找不到解决方案。
到目前为止我有什么:
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 存档中?提供的方法显然不起作用,我只是在文档或头文件中找不到有关该主题的任何内容
【问题讨论】:
标签: c++ serialization boost compression zlib