|
Boost Users : |
From: François Duranleau (duranlef_at_[hidden])
Date: 2007-08-09 11:38:58
On Thu, 9 Aug 2007, Robert Caldecott wrote:
> I have been experimenting with the boost::iostreams to create a gzip file, for
> example the following works fine:
>
> using namespace boost::iostreams;
> filtering_ostream out;
> out.push(gzip_compressor());
> out.push(file_sink("test.gz", std::ios::binary));
> out << "This is a gz file\n";
>
> This will create a gz file containing a single compressed file (called 'test').
> I can change the name of this internal file using a gzip_params struct and all
> is well.
>
> However, I want to create a single gzip file that contains multiple compressed
> files, each with a different filename. Does anyone know how to achieve this?
I guess that when you uncompress the file (e.g. with gunzip), you want to
get all those named files in, well, different files? As far as I know, the
gzip format doesn't allow that (I could be wrong), hence the gzip'ed tar
files we often see. I can't think of any simple portable solution aside
from creating each file regularly and then calling
system("tar zcf filename.tar.gz ...");
and finally remove the uncompressed files. That would require that 'tar'
is available the system your software is run on.
Anyone else has any better ideas?
-- François Duranleau LIGUM, Université de Montréal
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net