我需要一些方法来确定文件是否在某种扩展名中压缩(:rar,tar,tar.gz等),它在Linux系统下使用C / C ++语言。 我读了一些关于stat和S_IFCMP的内容,但我不能在linux中使用它,所以,你能帮我一些替代方案吗?
答案 0 :(得分:7)
没有防弹方法来确定这一点。您可以查看扩展程序。如果您不信任该扩展,那么您必须查看该文件并检查签名。
您可以找到其中一些here。
对stat
的调用不会告诉您有关压缩的单个文件,因为此标志表示文件系统已被压缩。
答案 1 :(得分:2)
每种文件格式都有自己的签名。没有通用的方法可以应用于所有压缩文件格式,如RAR,TAR,TAR.GZ。 各种文件格式的签名可在以下网址获得:http://www.garykessler.net/library/file_sigs.html