Сбросить 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() начать сначала?

0 ответов

Другие вопросы по тегам