如何检查文件是否被压缩?

时间:2014-01-17 21:56:42

标签: c++ c linux stat

我需要一些方法来确定文件是否在某种扩展名中压缩(:rar,tar,tar.gz等),它在Linux系统下使用C / C ++语言。 我读了一些关于stat和S_IFCMP的内容,但我不能在linux中使用它,所以,你能帮我一些替代方案吗?

2 个答案:

答案 0 :(得分:7)

没有防弹方法来确定这一点。您可以查看扩展程序。如果您不信任该扩展,那么您必须查看该文件并检查签名。

您可以找到其中一些here

stat的调用不会告诉您有关压缩的单个文件,因为此标志表示文件系统已被压缩。

答案 1 :(得分:2)

每种文件格式都有自己的签名。没有通用的方法可以应用于所有压缩文件格式,如RAR,TAR,TAR.GZ。 各种文件格式的签名可在以下网址获得:http://www.garykessler.net/library/file_sigs.html