2016-09-21 4 views
1

주위를 둘러 보니 질문하는 것이지만 좋은 대답은 아닙니다. 이 stackoverflow 중복 경우 (미안 해요!)zlib을 사용하여 압축 파일에 추가

내 목표는 다른 간격 (예 : 로그 파일)에서 C/C++를 사용하여 추가 할 zlib 압축 된 파일을 갖는 것입니다. 버퍼 크기 제한으로 인해 새 항목을 추가하기 위해 전체 파일을 메모리에 보관하지 않아도되도록 노력하고있었습니다.

+1

현재 양식의 게시물이 너무 넓어서 스택 오버플로에 적합하지 않습니다. [도움말 센터] (http://stackoverflow.com/help)를 방문하여 [어떻게 좋은 질문을합니까?] (http://stackoverflow.com/help/how-to-ask) 섹션을 읽으십시오. –

+0

@CaptainObvlious : 단순화하여 예제를 지적하여 덜 모호하게 질문을 업데이트했습니다. 로그 파일 일 수 있습니다 .. 아직 Stackoverflow에서 Adler의 대답을 조사하고있는 항목을 찾을 수 없습니다. 어느 지점에있는 것 같아요. – goodwince

+1

@CaptainObvlious 질문이 너무 광범위하지 않은 것 같습니다. 그것은 아주 간단하고 구체적이었습니다. "zlib 스트림에 어떻게 추가합니까?" –

답변

1

매번 작은 양의 데이터를 추가하면서 압축 된 로그를 유지하려고하는 것 같습니다. 이를 위해 gzlog.hgzlog.c을 예로들 수 있습니다.

gzappend을 보면 gzip 파일에 데이터를 추가 할 수 있습니다.

이들은 모두 zlib 스트림에 쉽게 적용 할 수 있습니다.

+0

'gzappend'는'gzip' 파일을 입력으로 취하지 만, zlib 압축 파일에 데이터를 추가하려면 어떻게해야합니까? 내가 틀렸다면 나를 바로 잡아주세요. – Sagar

0

마크 애들러의 대답은 필자가 필요로하는 것에 매우 가까웠지만, 이미 zlib 라이브러리와 제한된 리소스가있는 임베디드 장치로 인해 막혔다.

데이터의 각 섹션 (예 : @@ delimiter @@)에 구분 기호를 추가하고 완성 된 파일 (다른 응용 프로그램)을 읽을 준비가되면이 섹션을 찾고 압축 된 배열 개체를 만듭니다 섹션은 개별적으로 압축 해제됩니다.

저는 여전히 다른 프로그래머에게 도움이 될 유용한 정보이므로 Adler의 대답을 정확하다고 표시하고 있습니다.