libzip中的zip_source_zip:第一个参数是什么?

时间:2013-02-19 16:36:58

标签: c++ function zip arguments static-libraries

我正在使用libzip来从另一个zip中移动zip文件。首先,我使用zip_source_zip从我的zip文件中创建一个zip_source,然后使用zip_add最终将文件添加到zip中。

但有一种说法我不明白它代表什么。 zip_source_zip的第一个参数。这是它的原型:

struct zip_source * zip_source_zip(struct zip *archive, struct zip *srcarchive, zip_uint64_t srcidx, int flags, zip_uint64_t start, zip_int64_t len)

srcarchive是我获取文件的zip文件,srcidx是我想要的文件zip中的位置,标志是标志:P,start是我要取文件的第一个字节,len是数字从开始的字节数。

但我不明白第一个参数档案代表什么。我把目标拉链的指针放在了但是没用。

你知道这第一个论点代表什么吗?谢谢!

PS:这是描述功能的页面:http://www.nih.at/libzip/zip_source_zip.html

1 个答案:

答案 0 :(得分:1)

每个zip_source都应该与它将对其进行操作的ZIP存档相关联(例如,zip_add()函数可用于将源的内容添加到该特定的zip存档中)。无论您是从内存缓冲区(使用zip_source)创建zip_source_buffer(),还是从另一个打开用于阅读的ZIP存档(您正在做什么)或使用任何其他方法创建zip_source。基本上,第一个ZIP存档是在添加{{1}}对象的内容时将被修改的目标,第二个ZIP存档参数是将内容复制到源中的那个。