基于Huffman编码的C语言解压缩文件程序(6)

int main(int argc, char **argv)
{
  if(strcmp(argv[1],"-c")==0)
    {
                //获取文件的词频
        calWeight(argv[2]);
                //申请Huffman树的内存,已经获得叶子节点数,根据节点总数与叶子节点数的关系分配内存
        Node *huffmanTree = (Node *)malloc((2*count-1+1)*sizeof(Node));
                //创建Huffman树
        createHufmanTree(huffmanTree);
                //为Huffman编码表申请一个二维的字符数组指针
        HC = (HCode *)malloc((count+1)*sizeof(HCode));
                //向指针赋值,getHuffmanCode()函数返回编码表
        HC = getHuffmanCode(huffmanTree,HC,code);
                //根据编码表HC和编码对应的data表code压缩文件
        compress_file(argv[2],argv[3]);
                //将编码存入到默认的编码表当中(C:\\dic.txt)
        freToFile(code,HC);
    }
    else if(strcmp(argv[1],"-u")==0)
 {
                //为编码表分配内存,由于不知道叶子节点数,分配257
      HC = (HCode *)malloc(257*sizeof(HCode));
                //从词频表当中获取编码
      HC = freFromFile(code,HC);
                //根据编码表和data表解压文件
      uncompress_file(argv[2],argv[3]);
 }
    return 0;
}


一份基于huffman编码的文件解压缩程序(C语言,源码)下载

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2014年资料/8月/18日/基于Huffman编码的C语言解压缩文件程序

下载方法见

------------------------------------------分割线------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a287560f1be06e4c9967e0a3f6500edb.html