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
你好
世界
上一篇下一篇

猜你喜欢

热点阅读