SPRING :: NOTE

[C++] info-Zip 라이브러리로 파일 압축하기 본문

Development Language/C · C++ · MFC

[C++] info-Zip 라이브러리로 파일 압축하기

RAYZIE 2018. 12. 3. 15:01
반응형

파일 압축하는 라이브러리를 찾던 중 아주 쉬운 라이브러리를 발견.

프로젝트에 파일만 추가하고 클래스 가져다가 쓰면 끝나는 라이브러리다.

라이브러리 배포하는 사이트는 아래 링크

[info-ZIP 공식 홈페이지 링크]

zip.cpp 파일은 첨부파일로 올려두었다. 아래 링크 확인

zip.cppzip.h

zip.cpp

위 두개의 파일을 프로젝트에 그냥 추가하면 되겠다.

[프로젝트명] 우클릭 -> [추가] -> [기존항목]

.h와 .cpp 두개 파일 추가한다.


사용방법의 소스코드는 아래와 같다.

// m_itemCnt은 파일 총 갯수 멤버변수

// 파라미터 1: zip파일 생성 경로, 파라미터 2:password (default=0)
HZIP hz = CreateZip(strTemp, 0);	
for (i = 0; i < m_itemCnt; i++)
{
	if (m_filePath[i] == "")
		break;
	else
	{
		ZipAdd(hz, m_fileAbsPath[i], m_filePath[i]);
		percent = i * 100 / m_itemCnt;
		m_pbUpload.SetPos((int)percent);
		strTemp.Format("데이터 압축중 ::: %s ", m_fileAbsPath[i]);
		m_textProgress.SetWindowTextA(strTemp);
	}
}
// 생성된 zip 파일 close
CloseZip(hz);

기타 함수는 공식 홈페이지 Document에 정리되어있으니 참고하시길 바랍니다.

반응형
Comments