c语言用赫夫曼编码压缩文件,用哈夫曼编码C语言实现文件压缩

用哈夫曼编码实现文件压缩,C语言编写,简单实用,

if(j%8!=0) /*按八位读取*/ {

for(f=j%8;f<8;f++)

strcat(header[i].bits,"0"); } while(header[i].bits[0]!=0)

{

c=0; for(j=0;j<8;j++)

{

if(header[i].bits[j]=='1') c=(c<<1)|1; else c=c<<1;

}

strcpy(header[i].bits,header[i].bits+8); /*把从header[i].bits+8地址开始且含有NULL结束符的字符串赋值到以header[i].bits开始的地址空间 */ fwrite(&c,1,1,ofp); } }

fclose(ifp);

fclose(ofp);

printf("压缩成功\n");

}

void main() /*主函数*/ {printf("输入a开始压缩\n"); printf("输入b结束压缩\n");

while(1) { char c;

c=getch(); if(c=='a') yasuo(); else

{ if(c=='b') return;} }

}

压缩的图解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值