zlib - compress 함수
/*
× zlib compress uncompress ,
×
××××××××××××××××××××××××××××××××××××××××××××××××
× :z_compress ××××××××××
××××××××××××××××××××××××××××××××××××××××××××××××
× : + + ××
××××××××××××××××××××××××××××××××××××××××××××××××
*/
#include
#include
#include
int main(int argc,char* argv[]) {
FILE* file;
uLong flen;
unsigned char* fbuf = NULL;
uLong clen;
unsigned char* cbuf = NULL;
// srcfile dstfile
if(argc<3) {
printf("Usage: z_compress srcfile dstfile
");
return -1;
}
if ( (file = fopen(argv[1],"rb")) ==NULL) {
printf("Can\'t open %s!
",argv[1]);
return -1;
}
//
fseek(file,0L,SEEK_END); //
flen = ftell(file); //
fseek(file,0L,SEEK_SET);
if ( (fbuf=(unsigned char*)malloc(sizeof(unsigned char)* flen))==NULL) {
printf("No enough memory!
");
fclose(file);
return -1;
}
fread(fbuf, sizeof(unsigned char),flen,file);
//
clen = compressBound(flen);
if ( (cbuf=(unsigned char*)malloc(sizeof(unsigned char)* clen))==NULL) {
printf("No enough memory!
");
fclose(file);
return -1;
}
if (compress(cbuf,&clen,fbuf,flen)!=Z_OK) {
printf("Compress %s failed!
",argv[1]);
return -1;
}
fclose(file);
if ((file = fopen(argv[2],"wb")) ==NULL) {
printf("Can\'t create %s!
",argv[2]);
return -1;
}
//
fwrite(&flen, sizeof(uLong),1,file); //
fwrite(&clen,sizeof(uLong),1,file); //
fwrite(cbuf,sizeof(unsigned char),clen,file);
fclose(file);
free(fbuf);
free(cbuf);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.