2010-03-22 1 views
4

내 프로그램이 HTTP를 사용하여 gzipped 개의 파일을 네트워크를 통해 읽습니다.
gzip으로 압축 된 파일이 아직 도착하지 않은 경우에도 내용을 압축 해제하고 파싱 할 수 있도록 프로그램이 필요합니다.
할 수 있습니까?
그렇다면 C++로 할 수 있습니까? 그렇다면 어떻게?gzipped 스트림을 읽는 동안 "압축을 해제하는 방법"

답변

7

당신은 아마 gzstream 라이브러리를 시도 할 수 :

Gzstream는 는 C++ iostream에서 ZLIB C 라이브러리의 기능을 제공하는 작은 C++ 라이브러리, 기본적으로 그냥 래퍼입니다. LGPL 라이센스하에 무료로 사용 가능한 것은 입니다.

+1

gzip으로 압축 된 내용을 메모리에서 압축 해제해야합니다. 나는이 도서관이 어떻게 나를 도울 수 있는지 보지 못했다. – Guy

4

http://www.zlib.net/

Zlib의 gzip을 읽을 수있다. 매뉴얼을보십시오. http://www.zlib.net/manual.html#Gzip

+0

내가보기에는 디스크에서 gzipped 파일을 처리하는 것과 관련된 gzip 관련 함수가 있습니다. 메모리에 gzipped 스트림을 ungzip해야합니다. – Guy

+0

촬영! 문서를 http://www.zlib.net/manual.html#Introduction에서 "gzip"으로 검색하면 gzip 스트림을 다룰 때의 동작을 설명하는 여러 섹션이 나타납니다. 문서의 소개 텍스트에서 gzip 스트림 읽기가 일반적인 inflate/deflate 인터페이스를 통해 가능하다는 결론을 도출합니다. –