标准
{
j=0;
printf(\
printf(\ hfmtpath(t,i,j); }
printf(\-------\\n\}
void encoding(hfmt t)//对用户输入的文件的内容进行编码 {
FILE *f3;
char r[1000],h[1000];//用来存储输入的字符串 int i,j;
printf(\请输入需要编码的文件路径:\ gets(h);
f3=fopen(h,\ fgets(r,1000,f3);
printf(\待编码文件正文内容为:%s\\n\ printf(\编码结果为:\ for(j=0;r[j]!='\\0';j++) for(i=0;i if(r[j]==t[i].key) hfmtpath(t,i,j); fclose(f3); printf(\已将编码结果存入文件,文件名为:编码结果\\n\\n\} FILE *f5; void decoding(hfmt t)//对用户输入的密文进行译码 { FILE *f4; char r[1000],h[1000]; int i,j,len; j=2*n-2;//j初始从树的根节点开始 printf(\请输入需要译码的文件路径:\ gets(h); f4=fopen(h,\ fgets(r,1000,f4); len=strlen(r); 文案 标准 printf(\待译码文件中的代码为:%s\\n\ printf(\译码的结果是:\ //f5=fopen(\译码结果.txt\ for(i=0;i if(r[i]=='0') { j=t[j].lchild; if(t[j].lchild==-1) { printf(\ fputc(t[j].key,f5); j=2*n-2; } } else if(r[i]=='1') { j=t[j].rchild; if(t[j].rchild==-1) { printf(\ fputc(t[j].key,f5); j=2*n-2; } } } fclose(f4); //fclose(f5); printf(\已将译码结果存入文件,文件名为:译码结果\\n\\n\} int main() { int i,j; hfmt ht; char flag; printf(\ printf(\信安1401--孙毅--CSU |\\n\ printf(\ printf(\哈夫曼编码课程设计 |\\n\ printf(\ printf(\完成时间:2016/10/26 |\\n\ printf(\ creathfmt(ht); 文案 标准 printhfmt(ht); phfmnode(ht); printf(\----------\\n\ printf(\编码&&译码&&退出&&保存***********************\ printf(\【1】编码\\t【2】译码\\t【0】退出\ printf(\您的选择是:\ flag=getchar(); getchar(); while(flag!='0') { if(flag=='1') { f2=fopen(\编码结果.txt\ encoding(ht); fclose(f2); } else if(flag=='2') { f5=fopen(\译码结果.txt\ decoding(ht); fclose(f5); } else printf(\您的输入有误,请重新输入。\\n\ printf(\编码&&译码&&退出**********************\ printf(\【1】编码\\t【2】译码\\t【0】退出\ printf(\您的选择是:\ flag=getchar(); getchar(); } printf(\--------\\n\ printf(\欢迎使用孙毅的哈夫曼编译系统********************\\n\ printf(\----\\n\ system(\} 文案
相关推荐: