0

数日、ZIPアーカイブ内のすべてのファイルをC++の別のファイルに移動するだけのライブラリを探しています。libzipを見つけましたが、名前を知っているファイルの方が良いです。時間がかかりすぎない限り、アーカイブAとアーカイブBの間の手順は気にしません。(可能であれば、一時フォルダー内のファイルを削除します)。そして、私はポータブルライブラリを好みます。

ありがとうございます!

4

1 に答える 1

1

Libzip がおそらく最善の策です。

を使用zip_get_num_entriesしてアーカイブ内のファイル数を取得し、次に を使用zip_get_nameして特定のファイルのファイル名を取得できます。zip_fopen_indexアーカイブ内のファイルを開き、ファイルをzip_fread読み取り (そしてディスクまたは別の zip アーカイブに保存)、完了zip_fcloseしたらファイルを閉じるために使用します。アーカイブからファイルを削除する場合は、zip_delete.

最高のインデックスからインデックス 0 まで、すべてのファイルに対してループでこれを続けます。


Windows 上の libzip については、たとえばこの回答を参照してください(または、うまくいかない場合は、この回答を参照してください)。

于 2013-02-01T09:06:00.387 に答える