c语言调用libzip库读zip文件
2021-01-09 本文已影响0人
一路向后
1.软件简介
libzip 是一个 C 开发库,用于创建、修改 zip 压缩包。可直接从数据缓冲中添加文件,或者直接从其他 zip 归档中压缩数据。
2.源码实现
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <zip.h>
int main()
{
char buffer[1024];
char *path = "./1.zip";
int err = 0;
zip_t *archive = NULL;
zip_file_t *file = NULL;
zip_int64_t n = 0;
//打开zip压缩文件
archive = zip_open(path, ZIP_RDONLY, &err);
if(archive == NULL)
{
printf("open 1.zip failed, err=%d\n", err);
return -1;
}
//打开zip文件里的其中一个文件
file = zip_fopen(archive, "1.txt", ZIP_FL_COMPRESSED);
if(file == NULL)
{
printf("open 1.txt failed\n");
zip_close(archive);
return -1;
}
//读其中一个文件的内容
memset(buffer, 0x00, sizeof(buffer));
n = zip_fread(file, buffer, 100);
printf("%s", buffer);
//关闭其中一个文件
zip_fclose(file);
//关闭压缩文件
zip_close(archive);
return 0;
}
3.编译源码
$ gcc -o example example.c -lzip
4.运行及结果
$ ./example
你好
世界