【发布时间】:2016-02-20 17:31:00
【问题描述】:
我今天开始使用 libzip 库。但是我不明白libzip的工作原理。
我的重点是压缩一个包含所有文件和目录的目录 压缩成 zip 文件。
因此,我从zip_open()开始,然后我阅读了目录
内容并将所有带有zip_dir_add() 的目录添加到存档中。
之后,我用zip_close() 关闭了压缩文件。一切都是
美好的。下一步应该是将所有文件添加到存档中
zip_file_add()。但它不起作用。关闭文件的最后一步
失败。
好的,我忘了创建一个 zip_source 来完成这项工作。我添加了一个
在前一行声明以获取此源 (zip_source_file())。但
还是不行。
我的想法有什么问题?我还必须fopen() 和fclose() 文件系统上的文件吗?
而 zip_source_file() 和 zip_source_filep() 有什么区别?
【问题讨论】:
-
zip_close 将是最后一个,在添加所有文件、结构等之后。zip 本身是一个带有指针的文件,在关闭所述指针时,您将无法再写入指针,因此关闭后无法添加文件。
-
好的,我知道。可能不是我写的。但我做了第一步:zip_open()、zip_dir_add()、zip_close()。下一步是 zip_open()、zip_dir_add()、zip_source_file()、zip_file_add()、zip_close()。但是一次关闭我得到一个错误= -1。
-
嘿@tria1312 你找到任何解决方案了吗?我也有类似的问题。
-
发布源代码将是一个很好的起点。