使用zlib库进行压缩和解压
1.打开444.zip文件,关闭文件。(通过external_fa)。3.获取zip文件中。
·
1.打开444.zip文件,关闭文件。
unzFile zipfile = unzOpen("444.zip");
if (zipfile == NULL) {
printf("Could not open zip\n");
return -1;
}
//解压缩文件
int code=unzClose(zipfile);
2.看看zip文件中的文件和文件夹总数是多少。
unz_global_info pglobal_info;
unzGetGlobalInfo(zipfile, &pglobal_info);
printf("文件和文件夹总数:%d\n", pglobal_info.number_entry);
3.获取zip文件中所有文件和文件夹的名称。
char filename[4096];
do {
if (unzGetCurrentFileInfo(zipfile, nullptr, filename, 4096, NULL, 0, NULL, 0) != UNZ_OK) {
return false;
}
printf("filename:%s\n", filename);
} while (unzGoToNextFile(zipfile) == UNZ_OK);
判断要解压缩的是文件还是文件夹(通过external_fa)。
char buffer[4096];
unz_file_info info;
FILE* fp;
if (unzOpenCurrentFile(zipfile) != UNZ_OK) {
return false;
}//打开该定位到的文件
//通过函数来获取其信息
unzGetCurrentFileInfo(zipfile, &info, NULL, 0, NULL, 0, NULL, 0);
fp = fopen(filename, "wb");
if (fp == NULL) {
printf("fp==NULL\n");
//文件打开失败
if (info.external_fa == 16) {
//说明这是个目录文件
}
unzCloseCurrentFile(zipfile);
return false;
}
更多推荐


所有评论(0)