c语言调用libzip库删除文件

2021-01-12  本文已影响0人  一路向后

1.源码实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <zip.h>

int main()
{
    char *path = "./1.zip";
    int err = 0;
    zip_t *archive = NULL;
    zip_file_t *file = NULL;
    zip_source_t *source;
    int n = 0;

    //打开zip压缩文件
    archive = zip_open(path, ZIP_CREATE, &err);
    if(archive == NULL)
    {
        printf("open 1.zip failed, err=%d\n", err);
        return -1;
    }

    //获取zip中文件个数
    n = zip_get_num_files(archive);
    if(n < 0)
    {
        printf("get num of  1.zip failed\n");
        zip_close(archive);
        return -1;
    }

    printf("num=%d\n", n);

    //向zip文件删除文件
    err = zip_delete(archive, 2);
    if(err == ZIP_ER_INVAL)
    {
        printf("zip索引无效\n");
    }

    //关闭压缩文件
    zip_close(archive);

    return 0;
}

2.编译源码

$ gcc -o example example.c -lzip
上一篇 下一篇

猜你喜欢

热点阅读