gpt4 book ai didi

c++ - 用于查找文件名索引的 libzip 函数不起作用 C++

转载 作者:行者123 更新时间:2023-11-30 05:45:17 24 4
gpt4 key购买 nike

我今天开始学习 libzip 一切都很顺利,只是我无法让 zip_name_locate 工作,而且我找不到任何解释它的教程/示例/文档(虽然文档有,但我找不到让它工作)。 Documentation 1 , Documentation 2 (我无法让其中任何一个工作,文档 2 页面也有一些显然没有在我的范围内声明的枚举)

因此,首先,我的 zip 存档可以正确打开,因为我可以向其中替换和添加文件。我有显示索引路径的终端输出(来自 zip_get_name 函数)。

存档中的文件数:3
虚拟/
假人/假人1/
虚拟/虚拟1/虚拟文本

无论我试图找到其中哪一个的索引,我总是得到“dummy/”的索引,它是 0,我也尝试过所有不同的枚举(ZIP_FL_COMPRESSED、ZIP_FL_ENCRYPTED、ZIP_FL_NOCASE、ZIP_FL_NODIR、ZIP_FL_RECOMPRESS、ZIP_FL_UNCHANGED 和 0)。

(这个“dummy/dummy1/”返回 0,根据 zip_get_name 是“dummy/”)

如有任何帮助,我将不胜感激。

最佳答案

好吧,我找到了一个使用 zip_stat 结构的“解决方法”。

struct zip_stat stat;
zip_stat_init(&stat);
zip_stat(zipPointer, "dummy/dummy1/dummytxt", 0, &stat);
std::cout << "name= " <<stat.name << ", index= " << stat.index << std::endl;

这将打印“name= dummy/dummy1/dummytxt, index= 2”。您也可以使用“zip_stat_index”来通过索引构建 zip_stat 结构。Here 你有一些关于 zip_stat 结构的文档以及你可以用它做什么,它看起来非常有用。 Documentation1 , Documentation2 , Documentation3 .

哦,如果你有问题,调试器说 stat 没有在这个范围内声明,确保你这样写:struct zip_stat stat;。您可能错过了声明前面的结构。

关于c++ - 用于查找文件名索引的 libzip 函数不起作用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com