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

C++ wrapper for Gilles Vollant's Unzip API

, 10 Dec 2002 Eclipse
Rate this:
Please Sign up or sign in to vote.
Presents an extended yet simplified interface to querying, filtering and extracting multiple files from a zip archive

Sample Image - unzip.jpg


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.


This article, along with any associated source code and files, is licensed under The Eclipse Public License 1.0


About the Author

Software Developer Maptek
Australia Australia
.dan.g. is a naturalised Australian and has been developing commercial windows software since 1998.

For all his latest freeware visit AbstractSpoon.

Comments and Discussions

GeneralOnly Console mode Pinmembermsadik24-Jun-05 4:57 
Generalfile name directory Pinmembersir kaber5-Mar-05 20:18 
GeneralRe: file name directory Pinmembersir kaber5-Mar-05 20:19 
GeneralRe: file name directory Pinmemberrajalist7-Dec-06 20:49 
QuestionWhy win32? Pinmembertentons27-Aug-04 14:25 
QuestionIs this thing still alive ? PinsussAnonymous6-Jul-04 19:07 
QuestionCan you help me? PinmemberAlick Xiong17-Jun-04 22:42 
QuestioneVC++? PinmemberHameed Chishti15-May-04 1:48 
GeneralFolder attributs are forget too !! Pinmemberbebert2-Dec-03 5:07 
QuestionWhere are file and folder attributs ?? Pinmemberbebert28-Sep-03 23:44 
AnswerRe: Where are file and folder attributs ?? Pinmemberdang!29-Sep-03 16:15 
GeneralYou got a 5 from me PinmemberTom Welch9-Sep-03 4:52 
GeneralRe: You got a 5 from me PinmemberRavi Bhavnani27-Sep-03 11:46 
Tom Welch wrote:
For those who wonder why I didn't come to CP sooner, frankly I'd have to admit that the CP search is lousy.

The CP search (which also imho has left something to be desired) seems to have been recently improved.


Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music

GeneralRe: You got a 5 from me Pinmemberdang!28-Sep-03 15:06 
GeneralRe: You got a 5 from me PinmemberIramon21-Dec-03 21:52 
GeneralRe: You got a 5 from me Pinmember.dan.g.22-Dec-03 19:24 
QuestionHow to incorporate Gilles Vollant's code to for a DLL Pinmembergumber26-Aug-03 3:26 
AnswerRe: How to incorporate Gilles Vollant's code to for a DLL Pinmemberdang!27-Aug-03 18:16 
GeneralRe: How to incorporate Gilles Vollant's code to for a DLL Pinmembergumber29-Aug-03 22:55 
QuestionBuffering? PinsussAnonymous23-May-03 13:07 
AnswerRe: Buffering? PinmemberDanG26-May-03 16:12 
GeneralSwitching to C Pinmemberdarkchrono22-Apr-03 16:43 
GeneralRe: Switching to C PinmemberDanG22-Apr-03 17:00 
GeneralRe: Switching to C Pinmemberdarkchrono22-Apr-03 17:17 
GeneralRe: Switching to C PinmemberDanG22-Apr-03 18:49 

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.

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