LINUX.ORG.RU

С++ потоковый tar.bzip2


0

0

Дабы не создавать велосипедов, решил сначала спросить:
как прочитать архив подаваемый через поток в С++ ?
Идея создать IconSet, для замены набора смайлов в клиенте в run-time.

Если в архиве один файл (тар не требуется) - то без проблем, как сжимается, так и разжимается.
А если есть папка с файлами (допустим их немного и размер не большой), т.е. требуется tar, как вытаскивать нужный файл из потока в котором tar-файл (unbunzip2 уже сделан)?

Буду рад услышать любые советы по реализации этого метода или идеи других алгоритмов. Заранее спасибо.


имеются в виду файловые потоки (stream)

irq
() автор топика

Не знаю, как там в C++, но это делается так:

cat archive.tar.bz2 | tar -xjO нужный_файл

anonymous
()
Ответ на: комментарий от anonymous

если уже не bz2, тогда так:

bzip2 -dc archive.tar.bz2 | tar -xO нужный_файл

anonymous
()
Ответ на: комментарий от anonymous

>> google libtar

что-то я не нашел там потоков (stream).

консольные комманды, спасибо, знаем. Мне не нужны файлы в ФС, мне нужно вытаскивать файлы "на лету" из потока (stream)

irq
() автор топика
Ответ на: комментарий от irq

Я привел команды, пишущие в стандартный вывод, а не в ФС. Как это присобачить к потокам в C++ я, к сожалению, не знаю.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.