Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Zlib 的 Minizip 程序。我正在尝试将文件添加到当前的 zip 文件中。我发现我可以使用以下函数附加 zip 文件:
extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));
将追加设置为 2。但是,这不会覆盖 zip 中的文件,而是只会将文件添加到 zip 的末尾,无论它们是否已经存在。有没有什么办法解决这一问题?我希望可以选择仅替换旧文件和/或覆盖所有文件。
minizip 库目前不支持除了将文件添加到 zip 存档之外的任何内容。它也不支持删除或更新存档中的文件。
minizip网站上的这句话可能会对您有所帮助:
Ivan A. Krestinin 写了一个小例子,说明如何从 zip 存档中删除文件......
您可以将删除操作与添加操作相结合,以实现归档内文件替换。上面示例代码的缺点是它需要在磁盘上创建一个临时 zip 文件。