赫夫曼编译码器-数据结构课程设计 第4页
temp_1[t1]='\0';
if(strcmp(temp_1,temp_3)==0)
{
fputc(ch2,fp2);
rewind(fp1);
break;
}
}
}
}
fclose(fp1);
fclose(fp2);
fclose(fp3);
}
void disp(void)
{
FILE *fp1,*fp2;
char ch1,ch2;
char tmp[20];
int t;
if((fp1=fopen("c:\\hfmtree.wxl","rb"))==NULL)
{
puts("文件打开错误!");
getchar();
exit(0);
}
if((fp2=fopen("c:\\hfmcode.txt","wb"))==NULL)
{
puts("文件打开错误!");
getchar();
exit(0);
}
while((ch1=fgetc(fp1))!=EOF)
{
if(ch1=='(')
{
t=0;
ch1=fgetc(fp1);
ch2=ch1;
while((ch1=fgetc(fp1))!=')')
{
tmp[t++]=ch1;
}
tmp[t]='\0';
printf("%c-----%s\n",ch2,tmp);
fputc(ch2,fp2);
fputc('-',fp2);
fputc('-',fp2);
fputc('-',fp2);
fputs(tmp,fp2);
fputc('\n',fp2);
}
}
fclose(fp1);
fclose(fp2);
}
在建立树完成之后,输入"2",根本不能编码,提示"文件打开错误",这是什么原因啊.还有,这个程序中,打开另外一个文件怎么用fopen("c:\\hfmtree.wxl","wb")类似的函数,这个函数好象没见过,如果c或c++那应该用什么函数?后缀wxl是什么意思啊,还有后面的wb也无法理解打开另外一个文件怎么用fopen("c:\\hfmtree.wxl","wb")类似的函数,这个函数好象没见过,如果c或c++那应该用什么函数?后缀wxl是什么意思啊,还有后面的wb也无法理解,还有后面的(ch1=fgetc(fp1))!=EOF中的EOF是什么意思呢,伤脑筋啊
请大家千万要帮帮忙啊,如果谁有关于这个问题更好的程序,不吝赐教,我感激不尽啊!!!!!!!!!!!!!!!!多谢大家.