2016-09-15 125 views
0

我正在使用zlib将txt流压缩到gz gzip文件,并且运行良好。但是,它似乎命名gzip中的文件,与我的gz名称完全相同。C++使用zlib压缩字符串,命名为

我想知道是否有任何方法来改变已压缩文件的命名?

我宁愿它名字类似如下:

/myfile.gz/myfile

其中MYFILE是那是压缩gzip文件内的文档,myfile.gz是gzip压缩的文件本身。

有什么办法可以控制这些命令吗?

回答

1

我想你说的是,当你解压缩whatever.gz时,你会在当前目录下得到一个名为whatever的文件。这是gzip实用程序的默认行为,它不受gzip文件制作方式的影响。 gzip文件的内容不能将解压缩的数据导向其他目录。 (如果可以的话,这将是一个安全问题。)

可以在gzip头文件中存储文件名,在这种情况下,gzip -N whatever.gz将解压缩到头中的名称,而不是whatever。但是,它只是使用标题中的基本名称的当前目录中的文件。 gzip头文件名中的任何路径信息都会被忽略。