将所有文件从ZIP存档移动到另一个存档

时间:2013-02-01 08:54:34

标签: c++ zip unzip

我正在搜索一个只需要将ZIP存档中的所有文件移动到C ++中的另一个文件库的库。我找到了libzip,但它更适合你知道名字的一些文件。我不关心存档A和存档B之间的步骤,只要它不花费太多时间。 (如果可能,它将删除其临时文件夹中的文件)。而且我更喜欢便携式库。

谢谢!

1 个答案:

答案 0 :(得分:1)

Libzip可能是最好的选择。

您可以使用zip_get_num_entries获取存档中的文件数,然后使用zip_get_name获取特定文件的文件名。使用zip_fopen_index打开存档内的文件zip_fread以读取文件(并保存到磁盘或另一个zip存档),完成后zip_fclose关闭文件。如果要从存档中删除文件,请使用zip_delete

继续在所有文件的循环中执行此操作,从最高索引开始到索引零。


至于Windows上的libzip,请参阅例如this answer(或者如果它不起作用this one)。