Сбросить libarchive прочитать предыдущий заголовок - как получить дескриптор файла
Моя цель - сбросить архив для чтения предыдущего заголовка, используя libarchive.
Следующая ссылка описывает эту проблему: https://groups.google.com/forum/
Предлагаемое решение заключается в следующем:
"Лучший способ сделать это с помощью libarchive - это:
В вашем конструкторе используйте
open()
системный вызов, чтобы получить дескриптор файла для архива.использование
archive_read_open_fd()
создать новый объект архива, который читает из этого файлового дескриптора.Если вам нужно начать все сначала:
- Вызов
archive_read_free()
уничтожить объект архива; но файл все равно будет открыт lseek(fd, 0, SEEK_SET)
сбросить файловый дескриптор в начало архива- вызов
archive_read_open_fd()
открыть новый объект архива
- Вызов
У меня вопрос, возможно ли получить дескриптор файла из архива? Или в качестве альтернативы, если я использую следующие вызовы:
archive_read_open_filename()
archive_read_open_memory()
тогда как бы я сбросить архив, чтобы звонки archive_read_next_header()
начать сначала?