我今天已经开始使用libzip库了。但我不理解libzip的工作原理。
我的重点是将目录中的所有文件和目录压缩到zip文件中。
因此,我从zip_open()开始,然后读取目录内容,并将使用zip_dir_add()的所有dirs添加到归档文件中。之后,我用zip_close()关闭了压缩文件。一切都很好。下一步应该是使用zip_file_add()将所有文件添加到归档文件中。但不起作用。关闭文件的最后一步失败。
好的,我忘了创建一个zip_source来完成这个任务。为了获得这个源(zip_source_file()),我在前面添加了一条语句。但还是不起作用。
我的想法有什么问题?我是否也必须对文件系统上的文件进行fopen()和fclose()?
zip_source_file()和zip_source_filep()有什么区别?
发布于 2019-06-06 02:10:39
文件系统上的文件也必须是fopen()和fclose()吗?
不,你可以只使用zip_source_file()。
从你的评论,我认为你有正确的总体想法,但可能有一些细节,使它失败。确保在每次libzip调用之后执行所有的检查文档时出错提示,这样您就可以获得更多关于导致它失败的信息。
您还可以将代码与https://gist.github.com/clalancette/bb5069a09c609e2d33c9858fcc6e170e进行比较。
https://stackoverflow.com/questions/33789226
复制相似问题