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语言解压缩文件程序
------------------------------------------分割线------------------------------------------
