我正在使用 libzip / c++ 将文件推送到存档,到目前为止一切顺利。我可以使用 WinRar Windows 客户端打开创建的存档,解压缩存档并毫无问题地读取每个文件。
但是,当尝试使用 c++/libzip 从存档中读取一些文件(出于某种原因在子文件夹中的文件)时,似乎 libzip 无法找到它们,而我返回zip_file
的结构是NULL
. 我 100% 确定这些文件的路径是正确的。
有趣的事实:如果我手动解压缩创建的存档并使用 WinRar 客户端手动重新打包它,那么使用 libzip 读取存档就没有问题。
我尝试使用此代码在此处获取有关错误的信息:
if (isNull(zf)) { // zf is of type - struct zip_file* -
zip_error_t ze;
zip_error_init(&ze);
zip_error_code_system(&ze);
zip_error_code_zip(&ze);
const char* err = zip_error_strerror(&ze);
...
}
未注册错误代码,err
消息为No error.
这里发生了什么 ?