我正在尝试找到一种使用 libzip 压缩包含文件的文件夹的方法。为了澄清一点,我在技术上可以压缩它,问题是,当我尝试用 libzip 解压缩它时,它崩溃了。我相信,部分原因是我使用的事实:
zip_file_add(archive, file, s, ZIP_FL_OVERWRITE)
从文件夹到文件的小路径基本上在哪里file
,而不仅仅是文件名。这样,我可以将包含所有文件的文件夹存档。但我想这就是它崩溃的原因,因为对于归档文件夹,有zip_dir_add()
,但我找不到一种有效的方式来使用它们。我可以使用它们将文件夹和文件都添加到存档中,但它不会是文件夹内的文件,只是文件和文件夹。
有趣的是,如果我使用zip_file_add()
上述方法使用 libzip 归档该文件夹,即使当我使用 libzip 解压缩它时它会崩溃,但当我使用 Ark(来自 KDE)解压缩它时它不会崩溃。但是如果我用 Ark 压缩那个文件夹,那么用 libzip 解压缩就可以了。