数据结构的huffman编码类似这个功能,网上找了下比较少,不太满足我的要求,于是就自己写了个。方法可能不是最好的,希望有心人能指点下,本人无敌菜鸟一个。
/*
功能:
writeBit(char *ch)把’0’和’1’组成的字符串,压缩存储二进制在bit.txt文件
bit.txt文件结构如下:开头4个字节保存了该文件存储的位数,后面的字节为存储内容
readBit()把二进制文件bit.txt恢复成字符串。
*/
#include
#include
#include
void writeBit(char *ch);
void readBit();
int main()
{
char ch[500];
scanf(“%s”, ch);
writeBit(ch);
readBit();
return 0;
}
void writeBit(char *ch)
{
int i;
int j;
char dest;
int count = 0; //计算字符串个数
int num; //存储字符需要的多少个字节
int left;//字符串剩余不足8位的个数
FILE *fp = NULL;
char *p = NULL;
if (NULL == (fp = fopen(“bit.txt”, “wb