c++ - Libzip - 从 zip 读取文件内容

标签 c++ c zip

我使用 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,但我认为这不是合理的选择。

最佳答案

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

关于c++ - Libzip - 从 zip 读取文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140194/

相关文章:

c++ - 对于C++随机访问迭代器( vector 迭代器),迭代器之间的差异是如何计算的?

c++ - vector 中的非连续插入

c - 实现列表C

unix - 修改 zip 文件 md5 哈希值的最快方法

java - 将 Zip 内容读入字符串时出现 "ZipException - unexpected end of file when reading short buff"

c++ - 错误 MSB6006 "CL.exe"在 vi​​sual studio c++ 中以代码 2 退出

c++ - 重新排序 C++ 模板函数

c - C 中的 VOID 数据类型

c - %d 是 C 中的类型转换吗?

c++ - 用于解压缩受密码保护的文件的库