Click here to Skip to main content
Click here to Skip to main content

C++ wrapper for Gilles Vollant's Unzip API

By , 10 Dec 2002
 

Sample Image - unzip.jpg

Introduction

I've been trawling the web for ages trying to find some zip extraction code which

  1. I could understand and
  2. did not have excessive restrictions.

Then I stumbled across Gilles Vollant's excellent work on providing a multi-file API to the ZLib code base written by Jean-loup Gailly and Mark Adler.

That was yesterday. A day later I had wrapped Gilles' code in a simplified C++ wrapper with extended features.

I don't want to gush too much, but having spent the last six months looking for code such as his, I was very impressed by how simply I could understand it and work with it.

The features I've added include:

  • Navigating/extracting the embedded files/folders by index
  • Navigating/extracting the embedded files by file extension
  • Extracting the embedded files whilst ignoring the path info stored with each file. i.e., flattening the file structure

The purpose of this release is mostly to assist people like me who were looking for some code to start with. If I come up with any useful extensions then I will update the code, but feel free (as I know you will) to criticize the code in anyway you like.

p.s. The sample app which comes with the code will show how to use it.

p.s to p.s. Although the sample app is MFC, the wrapper class is pure Win32.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

.dan.g.
Software Developer Maptek
Australia Australia
Member
.dan.g. is a naturalised Australian and has been developing commercial windows software since 1998.
 
For all his latest freeware visit AbstractSpoon.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralOnly Console mode Pinmembermsadik24 Jun '05 - 3:57 
Generalfile name directory Pinmembersir kaber5 Mar '05 - 19:18 
GeneralRe: file name directory Pinmembersir kaber5 Mar '05 - 19:19 
GeneralRe: file name directory Pinmemberrajalist7 Dec '06 - 19:49 
QuestionWhy win32? Pinmembertentons27 Aug '04 - 13:25 
QuestionIs this thing still alive ? PinsussAnonymous6 Jul '04 - 18:07 
QuestionCan you help me? PinmemberAlick Xiong17 Jun '04 - 21:42 
QuestioneVC++? PinmemberHameed Chishti15 May '04 - 0:48 
GeneralFolder attributs are forget too !! Pinmemberbebert2 Dec '03 - 4:07 
QuestionWhere are file and folder attributs ?? Pinmemberbebert28 Sep '03 - 22:44 
AnswerRe: Where are file and folder attributs ?? Pinmemberdang!29 Sep '03 - 15:15 
GeneralYou got a 5 from me PinmemberTom Welch9 Sep '03 - 3:52 
GeneralRe: You got a 5 from me PinmemberRavi Bhavnani27 Sep '03 - 10:46 
GeneralRe: You got a 5 from me Pinmemberdang!28 Sep '03 - 14:06 
GeneralRe: You got a 5 from me PinmemberIramon21 Dec '03 - 20:52 
GeneralRe: You got a 5 from me Pinmember.dan.g.22 Dec '03 - 18:24 
QuestionHow to incorporate Gilles Vollant's code to for a DLL Pinmembergumber26 Aug '03 - 2:26 
AnswerRe: How to incorporate Gilles Vollant's code to for a DLL Pinmemberdang!27 Aug '03 - 17:16 
GeneralRe: How to incorporate Gilles Vollant's code to for a DLL Pinmembergumber29 Aug '03 - 21:55 
QuestionBuffering? PinsussAnonymous23 May '03 - 12:07 
AnswerRe: Buffering? PinmemberDanG26 May '03 - 15:12 
sorry, i was only interested in wrapping it.
 
however, try contacting giles directly (his email address is in the article) as he was helpful when i contacted him.
 
regards
 
DanG
GeneralSwitching to C Pinmemberdarkchrono22 Apr '03 - 15:43 
GeneralRe: Switching to C PinmemberDanG22 Apr '03 - 16:00 
GeneralRe: Switching to C Pinmemberdarkchrono22 Apr '03 - 16:17 
GeneralRe: Switching to C PinmemberDanG22 Apr '03 - 17:49 
GeneralRe: Switching to C Pinmemberdarkchrono22 Apr '03 - 17:53 
GeneralRe: Switching to C PinmemberDanG22 Apr '03 - 18:14 
Questionconst UINT BUFFERSIZE = 20480 ?? Pinmemberalnite30 Mar '03 - 14:42 
AnswerRe: const UINT BUFFERSIZE = 20480 ?? PinmemberDanG1 Apr '03 - 16:33 
GeneralZipper Wrapper PinsussTyler Carver13 Mar '03 - 12:27 
GeneralRe: Zipper Wrapper PinmemberDanG13 Mar '03 - 18:49 
Generalexclude libs PinmemberBeer11 Jan '03 - 18:21 
GeneralFeedback PinmemberLarry Antram10 Dec '02 - 21:44 
GeneralRe: Feedback PinmemberDanG10 Dec '02 - 22:35 
GeneralRe: Feedback PinsitebuilderUwe Keim11 Dec '02 - 19:53 
GeneralRe: Feedback PinmemberAndreas Saurwein12 Dec '02 - 9:12 
GeneralRe: Feedback PinmemberAndreas Saurwein11 Dec '02 - 1:25 
GeneralRe: Feedback PinmemberMatthias Mann12 Dec '02 - 2:28 
GeneralRe: Feedback PinmemberAndreas Saurwein12 Dec '02 - 9:10 
GeneralGood But... Pinmemberbruno leclerc10 Dec '02 - 21:03 
GeneralRe: Good But... PinmemberLuca Piccarreta10 Dec '02 - 22:18 
GeneralRe: Good But... PinmemberDanG10 Dec '02 - 22:38 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 11 Dec 2002
Article Copyright 2002 by .dan.g.
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid