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