标签: c++ linux symlink libzip
我在Linux的c ++应用程序中使用libzip,它需要能够压缩/解压缩包含符号链接的目录。我想在不遵循它的情况下添加链接本身。使用readlink()读取链接并将其添加到zip存档会导致解压缩时出现无意义的标准文件。
解决方案不需要是可移植的,它只能在Linux下使用。 linux zip命令有一个--symlinks标志,所以zip标准应该支持它。系统调用实际上不是一个选项,文件数量非常大,这使得应用程序非常慢。
是否可以使用libzip添加符号链接,以及如何使用?
谢谢, 桑德
答案 0 :(得分:2)
基于文档:否
根据其webpage,libzip基于zlib。 Linux等中使用的zip程序是info-zip,它不使用zlib,但是是自包含的(并且包含不在zlib中的功能)。
答案 1 :(得分:0)
是的,这是可能的。
在我用于在c代码中压缩文件列表的函数下面。 zip文件存储在cJSON结构中,没有uid / gid集和文件/目录相对于目录" base" (因为这是我的申请)。
成功时,函数返回0。
Matrix