Visual C 프로젝트를 가지고 있는데, 디렉토리 구조에 여러 파일을 포함하는 아카이브를 포함하고 싶습니다. 선호하는 작은 라이브러리를 사용하여 디스크의 어딘가에 프로그래밍 방식으로 추출하고 싶습니다. (작은 밑에는 몇 가지 .c 및 .h 파일을 의미합니다 .- 크기가별로 중요하지 않습니다.)하지만 데이터 압축을 풀거나 데이터를 직접 압축하는 라이브러리를 찾은 것 같습니다 (lzo-lzop-minilzo를 보았지만 찾을 수없는 것 같습니다. 그것이 내가리소스에서 여러 파일의 압축을 풉니 다
1
A
답변
1
ZLIB를) 파일과 아카이브를 압축
덕분에 이미 lzop 사용하더라도 그래도 전체 디렉토리 트리를 decmpress과년 (동반 수 있다고 아무것도) minizip 라이브러리 지원 .zip 형식 압축 풀기.
실행 파일에 .zip 파일을 리소스로 압축 할 수 있습니다. .exe에서 원시 데이터를 가져 오려면 FindResource
, SizeofResource
, LoadResource
, LockResource
API를 사용하십시오.
minizip의 샘플을 보면 zlib의 설명서를 읽고 압축을 풀어 I/O 콜백을 오버로드하는 방법을 볼 수 있습니다.
면책 조항 : 나는 Linderdaum Engine's 가상 파일 시스템에 대해 이것을 수행했으며 .zip, .tar, .rar (압축되지 않은) 및 .tar.gz 형식을 지원합니다. VFS 용 코드는 Src/Linderdaum/Core/VFS에 있으며 비상업적 용도로 MIT 라이센스를 받았습니다. 그것은 C++이지만 zlib 용 I/O 래퍼는 C 스타일 API를 사용하며 코드는 매우 간단합니다.
감사합니다. 나는 단지 소스 코드를 살펴 봤지만 다음과 같이 더 간단한 것을 원할 것이다. extractallfiles (zipfile, targetfolder).이 특별한 exctraction은 단지 사소한 부분이고 하나의 압축 파일을 추출하기 위해 다른 대형 프레임 워크를 구현하기를 원치 않는다. – print
MIT 라이센스는 비상업적 용도로만 사용됩니다. 확인 : http://www.linderdaum.com/home/index.php?title=Licensing : –