2016-09-15 1 views
0

zlib을 사용하여 txt 스트림을 gz gzip 파일로 압축하면 제대로 작동합니다. 그러나 gzip 안에있는 파일의 이름은 내 gz 이름과 정확히 동일합니다.C++ zlib을 사용한 문자열 압축, 문서 이름 지정

압축 된 파일의 이름을 변경하는 방법이 있습니까?

나는 오히려 다음과 같이 이름을 것입니다 :

myfile을가 압축은 gzip 파일의 내부의 문서를, 그리고 myfile.gz는 gzip으로 압축 된 파일 자체

/myfile.gz/myfile.

이러한 이름을 제어 할 수있는 방법이 있습니까?

답변

1

내가 말하는 것은 whatever.gz의 압축을 풀면 현재 디렉토리에 whatever이라는 파일이 생성된다는 것입니다. 이것은 gzip 유틸리티의 기본 동작이며 gzip 파일의 작성 방법에 영향을받지 않습니다. gzip 파일의 내용은 압축 해제 된 데이터를 다른 디렉토리로 보낼 수 없습니다. (가능하다면 보안 문제 일 것입니다.)

gzip 헤더에 파일 이름을 저장할 수 있습니다.이 경우 gzip -N whatever.gzwhatever이 아니라 헤더의 이름으로 압축을 해제합니다. 그러나 헤더의 기본 이름 만 사용하면 현재 디렉토리에있는 파일이됩니다. gzip 헤더의 파일 이름에있는 경로 정보는 무시됩니다.