小编use*_*204的帖子

使用zlib解压缩zip文件

我有一个archive.zip,其中包含两个加密的".txt"文件.我想解压缩存档以检索这2个文件.

这是我到目前为止所做的:

FILE *FileIn = fopen("./archive.zip", "rb");
if (FileIn)
    printf("file opened\n");
else
    printf("unable to open file\n");

fseek(FileIn, 0, SEEK_END);
unsigned long FileInSize = ftell(FileIn);
printf("size of input compressed file : %u\n", FileInSize);

void *CompDataBuff = malloc(FileInSize);
void *UnCompDataBuff = NULL;

int fd = open ("archive.zip", O_RDONLY);
CompDataBuff = mmap(NULL, FileInSize, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
printf("buffer read : %s\n", (char *)CompDataBuff);

uLongf UnCompSize = (FileInSize * 11/10 + 12);
UnCompDataBuff = malloc(UnCompSize);

int ret_uncp ;

ret_uncp = uncompress((Bytef*)UnCompDataBuff, &UnCompSize, …
Run Code Online (Sandbox Code Playgroud)

c compression zlib unzip

7
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×1

compression ×1

unzip ×1

zlib ×1