![]() |
|
|
![]()
|
|
| Хал |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 8.5.2008 Репутация: нет Всего: нет |
Всем доброго дня!
Подскажите, пожалуйста, как из C++ Builder 2006 распаковать gzip-архив (файл .gz)! Компоненты ZipForge? VCLUnZip и TZipBuilder его не берут. С помощью ZipTV TUnGZip получилось, но он платный )) Может есть какие-то бесплатные компоненты? Да, забыл сказать, работаю в WinXP |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Бери библиотеку zlib (www.zlib.org), она поддерживает (IMHO все перечисленные компоненты используют именно ее) |
|||
|
||||
| Хал |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 8.5.2008 Репутация: нет Всего: нет |
Подключил zlib и юзаю gzread. Получился такой вариант:
const int KILOB = 1024; char cb[KILOB]; AnsiString arch = "C:\\111.xml.gz"; FILE* outfile = fopen("C:\\newfile.xml", "wb"); gzFile gfile = gzopen (arch.c_str(), "rb"); int len = 0; do { len = gzread (gfile, cb, KILOB); if(len < KILOB) cb[len]=0; fprintf(outfile, "%s" , cb); } while(len == KILOB); fclose(outfile); gzclose(gfile); Напомню, задача просто вытащить файл из .gz архива. Может можно проще, не слишком коряво? |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
А почему блоками распаковываете? Сразу целиком не получилось?
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Хал |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 8.5.2008 Репутация: нет Всего: нет |
Добавлено @ 13:28
Не понял вопроса... это как - целиком? в данном случае? Это сообщение отредактировал(а) Хал - 12.5.2008, 13:29 |
|||
|
||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Почти нормально, рекомендую заменить
на
|
||||||
|
|||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |