Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Упаковка\распаковка файлов


Автор: Zzz 2.2.2005, 18:27
Винда ведь умеет паковать/распаковывать zip файлы. Есть ли такие API функции?

Автор: _hunter 3.2.2005, 16:11
IMHO нет ( это самописное расширение функциональности ).

Автор: Zzz 3.2.2005, 18:45
Жаль... smile
Ладно, задам вопрос в другом разделе... Паковать/рапаковывать файлы все же надо... а RAR не везде стоит, а через командную строку нехочу smile

Автор: _hunter 3.2.2005, 18:47
посмотри в общих вопросах ( там с неделю назад поднимали похожую тему )
"сжатие програмно" кажись

Автор: maxim1000 3.2.2005, 18:48
а, кажется, где-то в MSDN встречал, только сейчас не вспомню точно где...
Добавлено @ 18:54
у меня сейчас нету локальной версии MSDN, а в online немного другая организация, так что не нашел

Автор: oleg1973 3.2.2005, 21:30
врете все вы
все она умеет
есть zip lz cab компрессия в ней

Автор: _hunter 4.2.2005, 00:48
а ссылки можно? а то поиск по MSDN-у со словами zip archiving ничего не дал smile

Автор: maxim1000 4.2.2005, 11:08
попробуй еще compress

Автор: oleg1973 4.2.2005, 11:21
исчем
mscompress
lzexpand

Автор: S.A.P. 4.2.2005, 12:02
lzexpand.dll только распаковывать может, а как запаковывать - непонятно smile .

Автор: Sl@va 4.2.2005, 16:39
А не легче ли присоединить winrar'овский модуль к своей программе и через командную строку делать упаковку/распаковку.

Автор: _hunter 4.2.2005, 16:53
о mscompress MSDN ничего не знает.
о LzExpand:
Цитата
Typically, an application calls functions in LzExpand.dll to decompress data that was compressed using Compress.exe. The functions can also process files without attempting to decompress them.


т.е. API для декомпрессии это назвать можно ( с большой натяжкой ) а для компрессии...
Добавлено @ 16:58
или под mscompress подразумевалось Microsoft Cabinet?
тогда чем эти sdk отличаются от компонентов ( приведенных в "сжатие програмно" )?

Автор: Zzz 4.2.2005, 18:43
smile
Какая жаркая дискуссия разгорелась по этому поводу smile Видно злободневный вопрос.

Автор: Fixin 4.2.2005, 22:56
Есть модуль setupapi.h. Я его не знаю, думаю можно посмотреть.
Цитата
lzexpand.dll только распаковывать может, а как запаковывать - непонятно

Может открыть файл с помощью этого, положить туда другой и закрыть?
Но я с этим никогда не работал. Так просто - мысль на обсуждение.

Автор: Peter 7.2.2005, 12:35
Цитата(Sl @ 4.2.2005, 16:39)
А не легче ли присоединить winrar'овский модуль к своей программе

Не легче.
См. лицензионное соглашение к WinRAR.

Автор: Peter 14.2.2005, 10:27
Мне кажется, все дело в библиотеке cabinet.dll. Раскопаем?

Автор: Peter 16.2.2005, 14:47
Цитата
Turbo Dump  Version 5.0.16.12 Copyright © 1988, 2000 Inprise Corporation
                    Display of File CABINET.DLL

EXPORT ord:0004='DeleteExtractedFiles'
EXPORT ord:0002='DllGetVersion'
EXPORT ord:0003='Extract'
EXPORT ord:0011='FCIAddFile'
EXPORT ord:0010='FCICreate'
EXPORT ord:0014='FCIDestroy'
EXPORT ord:0013='FCIFlushCabinet'
EXPORT ord:0012='FCIFlushFolder'
EXPORT ord:0022='FDICopy'
EXPORT ord:0020='FDICreate'
EXPORT ord:0023='FDIDestroy'
EXPORT ord:0021='FDIIsCabinet'
EXPORT ord:0024='FDITruncateCabinet'
EXPORT ord:0001='GetDllVersion'

Автор: Fire-Plug 16.3.2005, 05:03
Цитата
Винда ведь умеет паковать/распаковывать zip файлы. Есть ли такие API функции?


Нет.

Ваще-то zip - это open source. Попробуй поискать по ключу zlib.h. Причем есть версии как для Форточек, так и для Линуха

Автор: Peter 17.3.2005, 10:24
Цитата(Fire @ 16.3.2005, 05:03)
Ваще-то zip - это open source. Попробуй поискать по ключу zlib.h. Причем есть версии как для Форточек, так и для Линуха

Если zip в свою программу встраивать, то, например, вообще в wxWindows есть класс работы и с zip-ами, и с png, и с jpeg.

Автор: Sheff 5.8.2006, 21:55
zlib юзай и не парься

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)