<h1 align="center">
bit7z
</h1>
<h3 align="center">A C++ static library offering a clean and simple interface to the 7-zip DLLs</h3>
<p align="center">
<a href="https://github.com/rikyoz/bit7z/releases"><img src="https://img.shields.io/github/release/rikyoz/bit7z/all.svg?style=flat-square&logo=github&logoColor=white&colorB=blue&label=" alt="GitHub release"></a>
<img src="https://img.shields.io/badge/-MSVC%202012+-red.svg?style=flat-square&logo=visual-studio-code&logoColor=white" alt="MSVC 2012 - 2019">
<img src="https://img.shields.io/badge/-x86,%20x86__64-orange.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAC1UlEQVR42u3WA9AjWRSA0bu2bdu2bdssrm3btm3btm3bmX+Ms7rLTiW9NUmvcsL7XuELu6Ojoz5DWcc5nvKp2kBdPvesi21m1Pgr7OxjrfWtgw0VZZjKM9rjXfNHM+bWWzutGo2YSH/tNm+jgNe1XzdDR322V41Tox5D6K4qY0WRtVRnjyhysercH0VeVJ13o8hXqvNNFOlSna4oUlOd2r8moBPwoQfd6THfoLweauqp6aJ8wInmMmjujWAFtwMeNJup5cXsVnWYDyDtajQjmMp7QOoypxGMbMtyAe+Ztf5/JTaJAkM6mjRXrj0KpE9zdZIyAV8bLX5lBIPlszXAVlGXMwAr5fwskL4wdPzAfGUC5o9kJy+o+dCVloiwJNg2907wimddZrqcB9GtNQF3RXI+kI5yCcgADwF6yvfLNa0JWD7n5dWXAa4lbZwrR7UioKdhc76vdEB+KxzbioAncxpGr9IBM+XKDa0IuCanaWkS8BzguEhqrQg4P6e5mgasbV+7WCySvWlFwIU5zdYooMhytCbghpzGLh9gAodCWjFXXwDSV4aJH5inWcBLkbzTOMBa9rWvk92jH5BWqBvwjSHKBfQ3as4HlvoSFq2b+zcB6bXIj6pZABvnPKzPgPSJlxV/hkUH5v7SUPiv2LN5wKuRjO82wDdON6xFSwW8XvhdcGYkrzUPYJf4lcktZh4jxg8sViqA9SKZxDo2NH0km1ImgE2jDjuBLXK6FPX1N1fUYQnKBnCeGeN3jGdPfUC+P27TyO7GjN8xoUMpHZCecKZ97etE9+hD6vKQOz1jgMa6u90J+VO9V//OaXnzgE5Al+p0iyLfqM63UeRV1Xk/ilylOo9Gkc1U55AoMrz+qjJJ1OMQ1bgq6jOYr1Rh9EgFZtd+q0QjVtFeW0UzFvGJ9uhhrSjDSE7UX6tdaMIoz0R2cbvXfKE2UJevvOEe+5kuOjr+qb4H0/HV/SQ0YjEAAAAASUVORK5CYII=" alt="x86, x86_64">
<a href="https://github.com/rikyoz/bit7z/wiki"><img src="https://img.shields.io/badge/-docs-yellow.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAABCklEQVR42u3OAUQEARCF4SkKTgASgCIhCBRAQXHVSeEEgY6gAIggQiIACAISyAEkqigRiAKQAItEOlj1B1HU7nB2VvS+B4D3W/sYZZNzHnmlxQMHzNJhZWGCS346pdfi0c0u7/zulkr8fZM8WxaLffI902VxqOIbszhc41u0KAwAvoZFoQb4qhaFBr6UPotCHd+RxWEYzwv9Fok78qTMWyymeCNLizmLx2pGwhWDVg7GueG7lBOm6bQyMcQS62ywwiQ9JiJ/ARVGqLPDBctWLPY4zFyTY86454kva1YsEnwoIDJghoXPbUcHOKj9zwAFKEABClCAAhSgAAUoQAEKUIACSGhXYgpQgOsD2giqlbnGmc4AAAAASUVORK5CYII=" alt="Docs"></a>
<a href="#donations"><img src="https://img.shields.io/badge/-donations-green.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAMAAABW61JJAAAAM1BMVEUAAAD///////////////////////////////////////////////////////////////+3leKCAAAAEHRSTlMAv0CA7xBgrzDfn3BQIM+PWN4WLwAAAfhJREFUeF69llmS3CAQRLMWNi0t7n9ax/RI7lCOQMh2+H0DovQqo8A/RpNcksw0455Yu8i8ostabxFFB6sDSOcWqY7gC1p4HSPimlxHyU8dMAWXTJV4WkSpf3eFUIkib7xekC96aqE1M3ayeWXmxSOIjfd/CFMlNjjbhFCV3R4TJLaJemLqx0RgbFOpgr4igfKiud9scnVAaVfpuD2AP+O0gHjxL1JSRX/JbrrMoPSrKUl6EzRFpItSkm4qqICdDuAVLwAdRTXtWqRV48YFELpvkFaSllNMt4s0R5JlzRuEWCqjR3JSq0/2rKqa1J8kQNl2fcArAEK2tY7j+WMlkKbR/dl3m5SkEUoGQmFZ8DqIBCAcwSqUpHt8BpALBWZ8Jk0BwOIfm49mkk8rgJDqQQmUpC4pvpebn2xQkhq4mH4vs3K2yUn68JI3ZrZoOCKR2CZaSXLFmXUxYZvgmUSXy/rFbGYilzb7MynInc3eTIpdK76tIDhJa7uvPMX71503+qok06HXXQLKyeZkZqrjD9z56Kui6NGZScths0tnJm00GvqwMwFktzkGJ8mAw2af9kxSfmT14SQF2G5zFOGxnHabf3aAHX2VMcpGScy7zWGCycE7KkZz+yE8dsdZ9YtlopkxzsY2n8KPrMc42XzMRIl6TJjkNxH/kV+EeH5bYbU1DgAAAABJRU5ErkJggg==&logoColor=white" alt="Donations"></a>
<a href="https://ci.appveyor.com/project/rikyoz/bit7z"><img src="https://img.shields.io/appveyor/ci/rikyoz/bit7z.svg?style=flat-square&logo=appveyor&logoColor=white&label=" alt="Build status"></a>
<a href="https://github.com/rikyoz/bit7z/blob/master/LICENSE"><img src="https://img.shields.io/badge/-GPL%20v2-lightgrey.svg?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAvUlEQVR42u3Zt1EEURRE0Ye0gFwI4BWJoC0KGxftExk+RQATAN+nLpo1R0+v6NsJHPOLcO4vKkrPVexEcMFZN8AQ7UXwCBx0ART6VtiN4BCA1AHO+SnVAEg1AFINgFQDINUASDUAUg2AVAMg1QBINQBSDYBUAyDVAMhxAVfUdzkmYJ+7mj1xPQ7gjbWYJTmQbGsB77zy0mjPPQH9UwOKAQYYYIABBhhggAFzCTDAAAMMMGDS+v2a9V8Vzs1PH+dRolvEzoAoAAAAAElFTkSuQmCC" alt="License"></a>
</p>
<p align="center">
<a href="#supported-features">Supported Features</a> •
<a href="#getting-started-library-usage">Getting Started</a> •
<a href="#download">Download</a> •
<a href="#requirements">Requirements</a> •
<a href="#building-bit7z">Building</a> •
<a href="#donations">Donations</a> •
<a href="#license-gpl-v2">License</a>
</p>
## Introduction
**bit7z** is a C++ static library which allows to compress and extract many file archive formats, all through a clean, simple and entirely object-oriented interface to the dynamic libraries from the 7-zip project (<https://www.7-zip.org/>).<br/>It supports compression and extraction to and from the filesystem or the memory, reading of archives metadata, updating existing archives, creation of multi-volume archives, operation progress callbacks and many other functionalities.
## Supported Features
+ **Compression** using the following archive formats: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
+ **Extraction** of the following archive formats: 7z, AR, ARJ, BZIP2, CAB, CHM, CPIO, CramFS, DEB, DMG, EXT, FAT, GPT, GZIP, HFS, HXS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RAR5, RPM, SquashFS, TAR, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, XZ, Z and ZIP.
+ **Reading metadata** of archives and of their content (from v3.x).
+ **Testing** archives for errors (from v3.x).
+ **Updating** existing file archives (from v3.1.x).
+ **Compression and extraction _to and from_ memory** (from v2.x — compression to memory is supported only for BZIP2, GZIP, XZ and TAR formats).
+ **Compression and extraction _to and from_ C++ standard streams** (from v3.1.x).
+ Compression using a **custom directory system** in the output archives (from v3.x)
+ **Selective extraction** of only specified files/folders **using wildcards** (from v3.x) and **regexes** (from v3.1.x).
+ Creation of **encrypted archives** (strong AES-256 encryption — only for 7z and ZIP formats).
+ **Archive header encryption** (only for 7z format).
+ Choice of the **compression level** (from none to ultra, not all supported by every output archive format).
+ Choice of the **compression method** (from v3.1.x — see the [wiki](https://github.com/rikyoz/bit7z/wiki/Advanced-Usage#compression-methods) for the supported methods).
+ Choice of the compression **dictionary size** (from v3.1.x).
+ **Automatic input archive format detection** (from v3.1.x).
+ **Solid archives** (only for 7z).
+ **Multi-volume archives** (from v2.1.x).
+ **Operation callbacks**, through which it is possible to obtain real time information about the ongoing extraction or compression operation (from v2.1.x).
Please note that the presence or not of some of the above features depends on the particular .dll used along with bit7z.
For example, the 7z.dll should support all these features, while 7za.dll should support only the 7z file format and the 7zxa.dll can only extract 7z files. For more information about the 7-zip DLLs, please see this [wiki page](https://github.com/rikyoz/bit7z/wiki/7z-DLLs).
In the end, some other features (e.g. _automatic format detection_ and _selective extraction using regexes_) are disabled by default and macros defines must be used during compilation to have them available ([wiki](https://github.com/rikyoz/bit7z/wiki/Building-the-library)).
## Getting Started (Library Usage)
Below are a few examples that show how to use some of the main features of bit7z:
### Extracting files from an archive
```cpp
#include "bitextractor.hpp"
using namespace bit7z;
try {
Bit7zLibrary lib{ L"7za.dll" };
BitExtractor extractor{ lib, BitFormat::SevenZip };
extractor.extract( L"path/to/archive.7z", L"out/dir/" ); //extracting a simple archive
extractor.extractMatching( L"path/to/arc.7z", L"file.pdf", L"out/dir/" ); //extracting a specific file
//extracting the first file of an archive to a buffer
std::vector< byte_t > buffer;
没有合适的资源?快使用搜索试试~ 我知道了~
c++调用7z解压缩封装代码
共1368个文件
h:525个
cpp:405个
c:100个
需积分: 32 2 下载量 43 浏览量
2022-10-13
11:54:02
上传
评论
收藏 6.48MB 7Z 举报
温馨提示
c++调用7z解压缩封装代码
资源详情
资源评论
资源推荐
收起资源包目录
c++调用7z解压缩封装代码 (1368个子文件)
lzma1805.7z 1.02MB
7za.7z 902KB
LzmaDecOpt.asm 31KB
LzmaDecOpt.asm 31KB
AesOpt.asm 4KB
AesOpt.asm 4KB
XzCrc64Opt.asm 4KB
XzCrc64Opt.asm 4KB
7zCrcOpt.asm 3KB
7zCrcOpt.asm 3KB
7zAsm.asm 2KB
7zAsm.asm 2KB
7zCrcOpt.asm 1KB
7zCrcOpt.asm 1KB
cr.bat 139B
cr.bat 139B
LzmaEnc.c 73KB
LzmaEnc.c 73KB
XzDec.c 66KB
XzDec.c 66KB
7zArcIn.c 44KB
7zArcIn.c 44KB
XzEnc.c 32KB
XzEnc.c 32KB
LzmaDec.c 32KB
LzmaDec.c 32KB
MtDec.c 29KB
MtDec.c 29KB
LzFind.c 25KB
LzFind.c 25KB
Lzma2DecMt.c 24KB
Lzma2DecMt.c 24KB
LzFindMt.c 23KB
LzFindMt.c 23KB
Lzma2Enc.c 19KB
Lzma2Enc.c 19KB
Ppmd7.c 17KB
Ppmd7.c 17KB
7zMain.c 16KB
7zMain.c 16KB
7zDec.c 15KB
7zDec.c 15KB
SfxSetup.c 15KB
SfxSetup.c 15KB
MtCoder.c 14KB
MtCoder.c 14KB
Lzma2Dec.c 13KB
Lzma2Dec.c 13KB
Alloc.c 10KB
Alloc.c 10KB
Aes.c 9KB
Aes.c 9KB
XzIn.c 9KB
XzIn.c 9KB
Bcj2Enc.c 7KB
Bcj2Enc.c 7KB
7zFile.c 7KB
7zFile.c 7KB
LzmaUtil.c 6KB
LzmaUtil.c 6KB
Bcj2.c 6KB
Bcj2.c 6KB
Sha256.c 5KB
Sha256.c 5KB
Ppmd7Dec.c 5KB
Ppmd7Dec.c 5KB
AesOpt.c 5KB
AesOpt.c 5KB
Ppmd7Enc.c 4KB
Ppmd7Enc.c 4KB
7zStream.c 4KB
7zStream.c 4KB
CpuArch.c 4KB
CpuArch.c 4KB
Bra.c 4KB
Bra.c 4KB
7zCrcOpt.c 3KB
7zCrcOpt.c 3KB
7zCrc.c 3KB
7zCrc.c 3KB
Threads.c 3KB
Threads.c 3KB
Lzma86Enc.c 3KB
Lzma86Enc.c 3KB
Sort.c 3KB
Sort.c 3KB
XzCrc64.c 2KB
XzCrc64.c 2KB
XzCrc64Opt.c 2KB
XzCrc64Opt.c 2KB
Xz.c 2KB
Xz.c 2KB
DllSecur.c 2KB
DllSecur.c 2KB
Bra86.c 2KB
Bra86.c 2KB
7zAlloc.c 2KB
7zAlloc.c 2KB
Delta.c 1KB
Delta.c 1KB
共 1368 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
陆先森不怕鬼
- 粉丝: 7
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0