Это код используется для надувания:Zlib метод надуйте не работает как ожидалось
z_ret = inflate(&oStream, Z_SYNC_FLUSH);
z_ret
возвращает Z_DATA_ERROR
каждый раз, когда в первый раз в входящем потоке
Это код используется для надувания:Zlib метод надуйте не работает как ожидалось
z_ret = inflate(&oStream, Z_SYNC_FLUSH);
z_ret
возвращает Z_DATA_ERROR
каждый раз, когда в первый раз в входящем потоке
В соответствии с zlib веб-страницы, кроме:
Z_DATA_ERROR
указывает, чтоinflate()
обнаружил ошибку в сжатом формате данных zlib, который m что либо данные не являются потоком zlib для начала, либо что данные были повреждены где-то на этом пути, так как он был сжат.
В качестве альтернативы, возможно, что данные были сжаты с помощью специального словаря дефляции, для чего zlib потребуется для раздувания. Если это так, то по ссылке я уже упоминал:
... мы не имеем ни малейшего представления о том, что словарь, поэтому указание
Z_NEED_DICT
преобразуется вZ_DATA_ERROR
.
Я не использовал zlib сам, но это намекает на то, что у вас есть поврежденные данные или недостаточно информации для декомпрессии.
Редактировать: Посмотрев на комментарий сальса, и изучения кода более, не ясно, что это реальный вопрос. Вы не указываете, какая величина z_ret
имеет значение inflate
.
Метод раздувания возвращает Z_DATA_ERROR. – user3136124
, в котором вы говорите о – user3136124
@ user3136124: ссылка на веб-страницу zlib. – icabod
В файле zlib.h '-3' есть' Z_DATA_ERROR', поэтому может произойти ошибка данных. – icabod
ошибка данных означает? Недействительны ли входящие данные? – user3136124
Возвращает ли ВАШ код код -3 или это код возврата ZLIB? Просьба уточнить. – Salsa