Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Распаковка файлов в vxWorks.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Jenya7
В vxWorks есть функция inflate которая распаковывает файлы упакованные zlib.
Скажем я упаковал несколько *.txt файлов в архив - arch.gz
но функция принимает в качестве параметров упакованный массив и массив куда распаковать
Код
int inflate(Byte * src, Byte * dest, int nBytes)


А как мне работать с файлами?
andrew_b
Вы не можете упаковать в gz несколько файлов. gzip -- компрессор, он сжимает один файл.
Сделать один файл из нескольких -- задача архиватора. Например, tar.
Jenya7
Цитата(andrew_b @ Sep 27 2017, 13:35) *
Вы не можете упаковать в gz несколько файлов. gzip -- компрессор, он сжимает один файл.
Сделать один файл из нескольких -- задача архиватора. Например, tar.

я понял. а если я сжал файл как мне передать его в функцию?
gosha-z
Цитата(Jenya7 @ Sep 27 2017, 10:56) *
я понял. а если я сжал файл как мне передать его в функцию?

Это зависит от того, где вы его сжали - на storage device или в памяти
Jenya7
Цитата(gosha-z @ Sep 27 2017, 14:00) *
Это зависит от того, где вы его сжали - на storage device или в памяти

я хочу сжимать утилитой на компьютере. я нашел програмку которая, сжимает пользуясь zlib. ну по крайнер мере так они утверждают. я передавал в програму файл, вроде создает сжатый файл.
потом этот файл передадут мне а я на стороне контроллера должен распаковать.

Цитата(Jenya7 @ Sep 27 2017, 13:56) *
Вы не можете упаковать в gz несколько файлов. gzip -- компрессор, он сжимает один файл.
Сделать один файл из нескольких -- задача архиватора. Например, tar.

ааа. так это вообще проблема. народ хочет упаковать 8 файлов в один архивированный файл и передать мне. мне тогда zlib не помогает.
я не нашел в vxWorks библиотеки для работы с архивированными файлами. надо тащить какую то библиотеку?

О! Нашел! в vxWorks есть tarLib для работы с архивированными файлами. в частности там есть
Код
STATUS tarExtract
  (
    char * pTape,             /* tape device name */
    int    bfactor,           /* requested blocking factor */
    BOOL   verbose            /* if TRUE print progress info */
    )

должно сработать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.