Я загружаю файлы в архив, используя 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.
Что здесь происходит?