Libzip-从zip读取文件内容

Ari*_*hys 5 c c++ zip zipfile

我使用libzip处理zip文件,然后一切正常,直到需要从zip读取文件,我只需要读取整个文本文件,因此实现类似PHP的“ file_get_contents”功能非常好。
要从zip读取文件,有一个函数
“ int zip_fread(struct zip_file * file,void * buf,zip_uint64_t nbytes)”
主要问题是我不知道buf的大小必须为多少,我必须读取多少nbytes(好吧,我需要读取整个文件,但是文件大小不同)。我只是可以做一个大的缓冲区来适合他们所有并读取所有它的大小,或者做一个while循环直到fread返回-1,但是我认为这不是合理的选择。

zch*_*zch 5

您可以尝试使用zip_stat获取文件大小。 http://linux.die.net/man/3/zip_stat