Форум программистов, компьютерный форум CyberForum.ru

Скачивание нескольких файлов в архиве и их распаковка - C++

Восстановить пароль Регистрация
 
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
05.10.2013, 04:10     Скачивание нескольких файлов в архиве и их распаковка #1
Приветствую.
Мне нужно было скачать несколько файлов, чтобы не качать по отдельности я решил запаковать в архив,
а после скачки распаковать.
Закачку сделал, но вот с распаковкой проблемы. Искал по поводу распаковки, наткнулся на zlib.
zlib скомпилировал, подключил, а потом понял, что это алгоритм и архив он извлекать не умеет(по крайней мере у меня не получилось).
Решил попробовать LZMA, как подключить к проекту не понял.

Подскажите, что нибудь. Лучше с динамической линковкой(без дополнительных dll). Использую VS C++ 2010
Спасибо за внимание.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2013, 04:10     Скачивание нескольких файлов в архиве и их распаковка
Посмотрите здесь:

C++ Распаковка PAK Файлов
Компиляция нескольких файлов C++
C++ Скачивание и сохранение файлов (счетчик не считает)
C++ С++ упаковка и распаковка файлов Zlib или любой другой способ
Чтение нескольких файлов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
05.10.2013, 06:43     Скачивание нескольких файлов в архиве и их распаковка #2
Цитата Сообщение от Посмотреть сообщение
zlib скомпилировал, подключил, а потом понял, что это алгоритм и архив он извлекать не умеет(по крайней мере у меня не получилось)
В нем есть minizip (zlib-1.2.6\contrib\minizip), который умеет с zip-архивами работать.
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
05.10.2013, 07:39  [ТС]     Скачивание нескольких файлов в архиве и их распаковка #3
Компилировал так из под консоли VS:
Код
....\zlib-1.2.8\contrib\minizip>nmake -f Makefile
В ответ:
Код
NMAKE : fatal error U1073: не хватает сведений для построения "../../libz.a"
Stop.
Такая же ошибка и при компиляции MinGW
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
05.10.2013, 11:05     Скачивание нескольких файлов в архиве и их распаковка #4
Сборка под студию описана в "zlib-1.2.6\contrib\vstudio\readme.txt".

Там примерно так делается: сначала нужно запустить "zlib-1.2.6\contrib\masmx86\bld_ml32.bat" из под Visual Studio Command Prompt, a потом собирать "zlib-1.2.6\contrib\vstudio\vc10\zlibvc.sln".
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
06.10.2013, 07:17  [ТС]     Скачивание нескольких файлов в архиве и их распаковка #5
Скомпилировал без ошибок. Архив закидываю в папку с программой
Запускаю:
Код
miniunz file.zip
Выдаёт:
Код
Cannot open file.zip or file.zip.zip
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
06.10.2013, 08:23     Скачивание нескольких файлов в архиве и их распаковка #6
Цитата Сообщение от Посмотреть сообщение
Запускаю:
Код
miniunz file.zip
Ну так там же параметры еще нужны:
C:\...>miniunz.exe
MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/unzip.html

Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]

-e Extract without pathname (junk paths)
-x Extract with pathname
-v list files
-l list files
-d directory to extract into
-o overwrite files without prompting
-p extract crypted file using password
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
06.10.2013, 08:33  [ТС]     Скачивание нескольких файлов в архиве и их распаковка #7
Если в [ ], значит не обязательны. Программа сам файл не находит
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 438
06.10.2013, 09:00     Скачивание нескольких файлов в архиве и их распаковка #8
Цитата Сообщение от Посмотреть сообщение
Если в [ ], значит не обязательны.
Не знаю насчет этого (нужно в код смотреть), у меня c "-l" и "-x" все работает.
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
06.10.2013, 10:37  [ТС]     Скачивание нескольких файлов в архиве и их распаковка #9
В 1.2.8 баг видимо. 1.2.5 - полёт нормальный. Осталось только с кодом разобраться.
16 / 16 / 1
Регистрация: 09.03.2013
Сообщений: 65
07.10.2013, 18:09  [ТС]     Скачивание нескольких файлов в архиве и их распаковка #10
Начал переносить в свой проект, теперь ошибка линковки D:
C++
1
2
#pragma comment(lib, "zlibwapi.lib")
#pragma comment(lib, "zlibstat.lib")
Ошибки:
Код
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzGoToNextFile в функции "int __cdecl do_list(void *)" (?do_list@@YAHPAX@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzGetCurrentFileInfo64 в функции "int __cdecl do_list(void *)" (?do_list@@YAHPAX@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzGetGlobalInfo64 в функции "int __cdecl do_list(void *)" (?do_list@@YAHPAX@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzCloseCurrentFile в функции "int __cdecl do_extract_currentfile(void *,int const *,int *,char const *)" (?do_extract_currentfile@@YAHPAXPBHPAHPBD@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzReadCurrentFile в функции "int __cdecl do_extract_currentfile(void *,int const *,int *,char const *)" (?do_extract_currentfile@@YAHPAXPBHPAHPBD@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzOpenCurrentFilePassword в функции "int __cdecl do_extract_currentfile(void *,int const *,int *,char const *)" (?do_extract_currentfile@@YAHPAXPBHPAHPBD@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzLocateFile в функции "int __cdecl do_extract_onefile(void *,char const *,int,int,char const *)" (?do_extract_onefile@@YAHPAXPBDHH1@Z)
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzClose в функции _main
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ _unzOpen2_64 в функции _main
Добавлено через 2 часа 40 минут
zLib сложен.
Воспользовался вот этим проектом.
Всего 10 строк кода и архив распакован.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 18:12     Скачивание нескольких файлов в архиве и их распаковка
Еще ссылки по теме:

Компиляция нескольких файлов C++
C++ Проект из нескольких файлов
Проект из нескольких файлов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
07.10.2013, 18:12     Скачивание нескольких файлов в архиве и их распаковка #11
используй готовую утилиту 7z (7za.exe) и все, там пара команд и все готово
Yandex
Объявления
07.10.2013, 18:12     Скачивание нескольких файлов в архиве и их распаковка
Ответ Создать тему
Опции темы

Текущее время: 20:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru