用C++写一个遍历当前的zip文件
要遍历当前的zip文件,可以使用C++的ZipArchive库来实现。下面是一个简单的示例代码:
#include <iostream>
#include <zip.h>
int main() {
// 打开zip文件
const char* zipFileName = "example.zip";
int err;
zip* archive = zip_open(zipFileName, 0, &err);
if (archive == nullptr) {
std::cout << "无法打开zip文件:" << zip_strerror(archive) << std::endl;
return 1;
}
// 获取zip文件中的文件数量
int numFiles = zip_get_num_files(archive);
if (numFiles < 0) {
std::cout << "无法获取zip文件中的文件数量:" << zip_strerror(archive) << std::endl;
zip_close(archive);
return 1;
}
// 遍历zip文件中的文件
for (int i = 0; i < numFiles; ++i) {
// 获取文件信息
struct zip_stat fileInfo;
if (zip_stat_index(archive, i, 0, &fileInfo) != 0) {
std::cout << "无法获取文件信息:" << zip_strerror(archive) << std::endl;
zip_close(archive);
return 1;
}
// 打印文件名
std::cout << fileInfo.name << std::endl;
}
// 关闭zip文件
if (zip_close(archive) != 0) {
std::cout << "无法关闭zip文件:" << zip_strerror(archive) << std::endl;
return 1;
}
return 0;
}
这个代码打开名为"example.zip"的zip文件,并遍历其中的文件。对于每个文件,它打印文件名。你可以根据实际情况修改文件名和路径。请确保你的项目中包含了libzip库的头文件和链接库,并将链接库添加到项目中
原文地址: https://www.cveoy.top/t/topic/iWZH 著作权归作者所有。请勿转载和采集!