赫夫曼编译码器-数据结构课程设计 第3页

else
     {

             go(p->llink);
         go(p->rlink);
     }
}

void code(void)
{
    FILE *fp1,*fp2,*fp3;
   char ch1,ch2,c;
   if((fp1=fopen("c:\\hfmtree.wxl","rb"))==NULL)
     {
             puts("文件打开错误!");
         getchar();
         exit(0);
     }
    if((fp2=fopen("c:\\tobetrans.txt","rb"))==NULL)
     {
             puts("文件打开错误!");
         getchar();
         exit(0);
     }
     if((fp3=fopen("c:\\codefile.wxl","wb"))==NULL)
     {
             puts("文件打开错误!");
         getchar();
         exit(0);
     }

     while((ch1=fgetc(fp2))!=EOF)
     {
         t=0;


         while((ch2=fgetc(fp1))!=EOF)
         {
            if(ch1==ch2)
            {
                while((c=fgetc(fp1))!=')')
                {
                    tmpcode[t++]=c;
                }
                tmpcode[t]='\0';
                fputs(tmpcode,fp3);
                fputc(
'@',fp3);
                rewind(fp1);
                break;
            }
         }
     }
     fclose(fp1);
     fclose(fp2);
     fclose(fp3);
}

void decode(void)
{
    FILE *fp1,*fp2,*fp3;
   char ch1,ch2,ch3;
   char temp_3[20];
   char temp_1[20];
   int t1,t3;
   if((fp1=fopen("c:\\hfmtree.wxl","rb"))==NULL)
   {
             puts("文件打开错误!");
         getchar();
         exit(0);
   }
    if((fp2=fopen("c:\\textfile.txt","wb"))==NULL)
    {
             puts("文件打开错误!");
         getchar();
         exit(0);
    }
    if((fp3=fopen("c:\\codefile.wxl","rb"))==NULL)
     {
             puts("文件打开错误!");
         getchar();
         exit(0);
     }

     while((ch3=fgetc(fp3))!=EOF)
     {
         t3=0;
          while(
ch3!='@')
          {
             temp_3[t3++]=ch3;
             ch3=fgetc(fp3);
          }
          temp_3[t3]='\0';
          while((ch1=fgetc(fp1))!=EOF)
          {
                  if(isalpha(ch1))
               {
                   ch2=ch1;
                   t1=0;
                   while((ch1=fgetc(fp1))!=')')
                   {
                         temp_1[t1++]=ch1;
                   }

上一页  [1] [2] [3] [4] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有