Хал
|
|
1 | |
архивы gzip08.05.2008, 08:52. Показов 3341. Ответов 4
Метки нет (Все метки)
Всем доброго дня!
Подскажите, пожалуйста, как из C++ Builder 2006 распаковать gzip-архив (файл .gz)! Компоненты ZipForge? VCLUnZip и TZipBuilder его не берут. С помощью ZipTV TUnGZip получилось, но он платный )) Может есть какие-то бесплатные компоненты? Да, забыл сказать, работаю в WinXP |
08.05.2008, 08:52 | |
Ответы с готовыми решениями:
4
GZIP c++ builder алгоритм GZIP GZip в Indy(XE2) GZIP распаковка веб страницы |
132 / 99 / 11
Регистрация: 21.11.2007
Сообщений: 544
|
|
12.05.2008, 10:58 | 2 |
Надо рыть в Линуксовом сообществе. Есть библиотеки линуксовые и к ним сырцы. Попробуй поискать на SourceForge.net по слову ungzip или что-нить наподобие. Возможно там и для виндов найдешь библиотеку. Компоненту для Билдера там не найдешь. Такие компоненты наверняка будут платные, если только какой энтузиаст не сбацал чего.
Можно в магазинах программерские диски пошукать. Может там будет компонент. Но лучший вариант - освоить работу с сырцами сишными. На SourceForge'е найдешь сырцы - они должны быть с пометкой "Platform Independed". В прогу подоткнешь - останется найти описание нужных функций. Кстати тамже есть ссылки на сайт проекта - там можно найти инструкции. Смотри кнопки в заголовке страницы на SourceForge
0
|
Хал
|
||||||
12.05.2008, 13:25 | 3 | |||||
Подключил zlib и юзаю gzread. Получился такой вариант:
|
132 / 99 / 11
Регистрация: 21.11.2007
Сообщений: 544
|
|
14.05.2008, 14:10 | 4 |
Да уж... Это что?. Просто вытаскивание килобайтов из архива.. Надо бы найти функцию для распаковки файлов. Неужто там нет такой?
0
|
Хал
|
|
15.05.2008, 14:44 | 5 |
Похоже, что нет(( Насколько я понял, библиотека zlib от GNU не оперирует понятием архива - речь идет о работе с данными в формате gzip.
Это потоково-ориентированные функции... Ну а компоненты, как говорилось уже - платные. Вот список основных функций из zlib(кому интересно) int compress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen); int compress2 (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level); int uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen); typedef voidp gzFile; gzFile gzopen (const char *path, const char *mode); gzFile gzdopen (int fd, const char *mode); int gzsetparams (gzFile file, int level, int strategy); int gzread (gzFile file, voidp buf, unsigned len); int gzwrite (gzFile file, const voidp buf, unsigned len); int VA gzprintf (gzFile file, const char *format, ...); int gzputs (gzFile file, const char *s); char * gzgets (gzFile file, char *buf, int len); int gzputc (gzFile file, int c); int gzgetc (gzFile file); int gzflush (gzFile file, int flush); z_off_t gzseek (gzFile file, z_off_t offset, int whence); z_off_t gztell (gzFile file); int gzrewind (gzFile file); int gzeof (gzFile file); int gzclose (gzFile file); const char * gzerror (gzFile file, int *errnum); |
15.05.2008, 14:44 | |
15.05.2008, 14:44 | |
Помогаю со студенческими работами здесь
5
Как распаковать архивы (rar .. и тд) Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip Как сделать фильтр на архивы? Т.е. вывести ссылки только на архивы в определённой папке. GZip Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |