This is a lightweight (still powerful) C++/Qt wrapper around the miniz zip library.
The code can easily be used as a standalone library (shared or static), which will provide ready-made functions for quick and convenient work with zip archives.
There is no need to add additional dependencies and deal with low-level APIs.
For basic and most common tasks, there are high-level static functions that allow you to get by with a single code line. For more flexible creation and extraction of archives, there are Qt-style OOP functions.
Creation of a minimalist, publicly accessible and most easy to use tool that does not require a long documentation study. The priority is the possibility of embedding into Qt projects with ease, with a reduced number of code lines.
The library is well suitable, for example, for working with the contents of the common document types (*.epub, *.docx, *.odt ...), which are essentially packaged archives.
- Create and extract zip files.
Working with files, folders and their lists. - Create/extract archives from/to buffered data.
UnZip files into the RAM buffer.
Make a zip file from QByteArray (or a list of them).
Extract the buffered zip to disk...
Basic functions are available statically. For example:
QMicroz::extract("zip_file_path");
QMicroz::compress("source_path", "zip_file_path");
QMicroz::compress({"file_path", "folder_path", "file2_path"});
BufList buffer;
QMicroz qmz("path_to_zip");
if (qmz) // whether successfully opened
buffer = qmz.extractToBuf();
More examples on Wiki.
A complete list of functions is available in the qmicroz.h file.