充气后如何获得原始文件扩展名? 我使用ZLIB和C++来压缩/解压缩文件。

充气后如何获得原始文件扩展名? 我使用ZLIB和C++来压缩/解压缩文件。,c++,zlib,compression,inflate,C++,Zlib,Compression,Inflate,我现在可以压缩任何文件并将其扩展名设置为.z。但是当膨胀.z文件时,我必须手动放置所需的扩展名。充气工作正常,我可以轻松地将.z文件充气到标准输出或文件 我已经读过了,但没办法解决我的问题。我想我需要挖掘档案的标题来获取这些信息 任何帮助都将不胜感激,谢谢 zlib库将压缩和解压缩zlib和gzip流。zlib流具有非常紧凑的头文件和尾文件,没有存储文件名信息的规定。另一方面,gzip头和尾文件可以存储文件名,解压时可以使用该文件名。您应该阅读以了解如何使用gzip格式,以及如何处理gzip头。

我现在可以压缩任何文件并将其扩展名设置为.z。但是当膨胀.z文件时,我必须手动放置所需的扩展名。充气工作正常,我可以轻松地将.z文件充气到标准输出或文件

我已经读过了,但没办法解决我的问题。我想我需要挖掘档案的标题来获取这些信息


任何帮助都将不胜感激,谢谢

zlib库将压缩和解压缩zlib和gzip流。zlib流具有非常紧凑的头文件和尾文件,没有存储文件名信息的规定。另一方面,gzip头和尾文件可以存储文件名,解压时可以使用该文件名。您应该阅读以了解如何使用gzip格式,以及如何处理gzip头。

我猜您在压缩时删除了原始扩展名。也就是说,您应该压缩到file.ext.z,而不是file.z.@Matt,true。我已经切断了原来的扩展:)你的黑客真的很好,但还有其他方法吗?这不是真正的黑客。想想那些.tar.gz文件。Zilb在压缩流中没有原始文件信息。你必须自己处理这件事。Unix方式是tar。但是如果你愿意的话,你可以选择一些其他的选择。