美文网首页
c语言调用libzip库读zip文件

c语言调用libzip库读zip文件

作者: 一路向后 | 来源:发表于2021-01-09 21:29 被阅读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
你好
世界

相关文章

网友评论

      本文标题:c语言调用libzip库读zip文件

      本文链接:https://www.haomeiwen.com/subject/nydhaktx.html