Задача: есть файл сжатый с помощью zlib, нужно его распаковать в память, т.к. будет последующая обработка данных.
Проблема в том, что я не знаю, как корректно выделить память под распакованный файл.
Читая мануал, наткнулся на такое:
int uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen); Decompresses the source buffer into the destination buffer. sourceLen is the byte length of the source buffer. Upon entry, destLen is the total size of the destination buffer, which must be large enough to hold the entire uncompressed data. (The size of the uncompressed data must have been saved previously by the compressor and transmitted to the decompressor by some mechanism outside the scope of this compression library.)
В моем же случае ждина распакованного файла неизвестна.
Можно также делать с помощью более низкоуровневых функций, но они отдают распакованный файл кусками, количество которых, естественно, тоже заранее неизвестно.
Что делать в этом случае? Я с си только начинаю общаться, так что такие вещи откровенно в тупик ставят.