Libzip - чтение содержимого файла из zip

Я использую libzip для работы с zip-файлами, и все идет нормально, пока мне не понадобится читать файл из архива Мне нужно читать только целые текстовые файлы, поэтому было бы здорово получить что-то вроде функции PHP "file_get_contents".
Для чтения файла из zip есть функция
"int zip_fread (struct zip_file * file, void * buf, zip_uint64_t nbytes) ".
Основная проблема в том, что я не знаю, какой размер buf должен быть и сколько nbytes я должен прочитать (ну, мне нужно прочитать весь файл, но файлы имеют другой размер). Я могу просто сделать большой буфер, чтобы вместить их все и прочитать весь его размер, или выполнить цикл while до тех пор, пока fread не вернет -1, но я не думаю, что это рациональный вариант.

5
задан Aristarhys 4 February 2012 в 10:32
поделиться