3

Zlib の Minizip プログラムを使用しています。現在の zip ファイルにファイルを追加しようとしています。関数を使用してzipファイルを追加できることがわかりました:

extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));

append を 2 に設定します。ただし、これは zip 内のファイルを上書きするのではなく、ファイルが既に存在するかどうかにかかわらず、zip の最後にファイルを追加し続けます。これを修正する方法はありますか?古いファイルのみを置き換えたり、すべてのファイルを上書きしたりするオプションが必要です。

4

1 に答える 1

2

minizip ライブラリは現在、zip アーカイブにファイルを追加する以外には何もサポートしていません。アーカイブ内のファイルの削除または更新もサポートしていません。

minizip Web サイトからのこの引用は、あなたを助けるかもしれません:

Ivan A. Krestinin は、zip アーカイブからファイルを削除する方法の小さな例を書きました...

削除操作と追加操作を組み合わせて、アーカイブ内ファイルの置換を実現できます。上記のコード例の欠点は、ディスク上に一時的な zip ファイルを作成する必要があることです。

于 2012-07-22T01:30:54.237 に答える