美文网首页
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