Вниз
Скачать: CL | DM;

Zlib и несколько файлов   Найти похожие ветки 

 
seregka   (2005-03-10 15:47) [0]

Как с помощью Zlib упаковать в один архив несколько файлов???


 
Reindeer Moss Eater ©   (2005-03-10 15:53) [1]

Точно так же как и один


 
Digitman ©   (2005-03-10 16:04) [2]


> seregka


ZLib, насколько помнится, вообще не занимается архивацией ... компрессией/декомпрессией данных - да, но не архивацией/разархивацией


 
seregka   (2005-03-10 16:42) [3]

Немного, не так выразился. Но суть в другом - мне нужно сжать (компрессировать) 2 файла, а потом обратно их


 
Reindeer Moss Eater ©   (2005-03-10 16:43) [4]

И наздоровье


 
Digitman ©   (2005-03-10 16:44) [5]


> seregka   (10.03.05 16:42) [3]


тогда см. [1]


 
seregka   (2005-03-10 18:35) [6]

Извиняюсь за назойливость, но просто работа с потоками для меня темный лес.
Как сделать, чтобы два файла в один поток загнать, а потом обратно их вытащить. С одним понятно, а во с большим количеством ...


 
Poirot ©   (2005-03-10 19:11) [7]

А ты в поток загони для начала размер файла а потом уже то, что буит на выходе "паковщика" :) Это так сказать добавлении к [1]


 
Poirot ©   (2005-03-10 19:12) [8]

не исходногго файла, а того, что получится на выходе:)


 
dimaxx ©   (2005-03-10 20:58) [9]

Для этого можно применить TAR-архив. А потом сжать весь поток ZLib"ом. Так делается в комбинации tar.gz.


 
uny ©   (2005-03-10 21:05) [10]

если не потоками, а буферами, то загружать каждый файл в буфер, сжимать и записывать на диск. туда же(в создаваемый файл архива) смещение для каждого файла, будет почти как в rar. потоками наверно лучше, но если из нескольких файлов в архиве нужен только один - удобнее же буферами - считал, разжал и всё.


 
Юрий Зотов ©   (2005-03-10 22:08) [11]

1. Пишем в поток длину имени файла, затем само имя, затем размер файла, затем сам файл.
2. Повторяем п. 1 столько раз, сколько требуется.
3. И компрессуем все это ZLib"ом. Аллес.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
1-1111059565
JK
2005-03-17 14:39
2005.03.27
Как прервать приложение?


6-1106564547
Net-man
2005-01-24 14:02
2005.03.27
Изменение параметров сети


9-1104873227
Tankist
2005-01-05 00:13
2005.03.27
Как менять гамму в Direct3D


1-1110377855
Bogdan
2005-03-09 17:17
2005.03.27
Создание инсталяционного пакета


3-1109340641
Ольга
2005-02-25 17:10
2005.03.27
Выполнение SQL-скрипта из файла средствами Delphi




   Наверх