【发布时间】:2010-10-09 17:19:47
【问题描述】:
我正在寻找一种在现有 ZIP 存档或任何其他存档格式中添加或删除文件的方法,只要存在跨平台 API,而无需使用新的 zip 文件重写添加到其中的文件,或从其中删除的项目。
对于 ZIP 文件,目录放置在文件的末尾,因此每次都可能需要重写 zip 文件的某些部分。我只是想避免每次都重写整个事情。我要处理的存档文件会很大,而且速度很重要。
是否有任何 C++ 库可以满足我的需求?
【问题讨论】:
我正在寻找一种在现有 ZIP 存档或任何其他存档格式中添加或删除文件的方法,只要存在跨平台 API,而无需使用新的 zip 文件重写添加到其中的文件,或从其中删除的项目。
对于 ZIP 文件,目录放置在文件的末尾,因此每次都可能需要重写 zip 文件的某些部分。我只是想避免每次都重写整个事情。我要处理的存档文件会很大,而且速度很重要。
是否有任何 C++ 库可以满足我的需求?
【问题讨论】:
miniz 库允许您将文件附加到现有存档,而无需通过一个函数调用重写它:
mz_zip_error error = MZ_ZIP_NO_ERROR;
mz_bool status = mz_zip_add_mem_to_archive_file_in_place_v2("foo.zip", "bar.txt", "Test", 4, "Comment", 7, MZ_BEST_COMPRESSION, &error);
【讨论】:
Zipios++ 提供对 ZIP 存档中文件的直接访问。
【讨论】:
【讨论】: