if(strlen(header[i].bits)>strlen(header[j].bits)) {
tmp=header[i];
header[i]=header[j]; header[j]=tmp; } } }
p=strlen(header[n-1].bits); fseek(ifp,8,SEEK_SET); m=0; bx[0]=0; while(1) {
while(strlen(bx)
fread(&c,1,1,ifp); f=c;
itoa(f,buf,2); f=strlen(buf); for(l=8;l>f;l--) {
strcat(bx,\ }
strcat(bx,buf); }
for(i=0;iif(memcmp(header[i].bits,bx,header[i].count)==0) break; }
strcpy(bx,bx+header[i].count); c=header[i].b; fwrite(&c,1,1,ofp); m++;
if(m==flength) break; }
fclose(ifp); fclose(ofp);
printf(\解压成功\\n\ return; }
void main() /*主函数*/
{printf(\输入a开始解压\\n\printf(\输入b结束解压\\n\ while(1) { char c; c=getch(); if(c=='a') jieya(); else { if(c=='b') return;} } }
七、测试结果及分析:
压缩前的文件夹中的内容
压缩后的文件夹中的内容