?? encoding.cpp
字號:
#include"head.h"
void Encoding()
{//利用已建好的哈夫曼樹,對文件ToBeTran中的正文進行編碼,然后將結果存入文件CodeFile中。
char c;
int i=1;
Node *p,*p1,*p2,*p3;
FILE *hfmTree,*CodeFile,*ToBeTran;
hfmTree=fopen("hfmTree","r+");
ToBeTran=fopen("ToBeTran.txt","r");
p=(Node *)malloc(sizeof(Node));
p->next=NULL;
p1=p;
while(!feof(hfmTree))
{//將哈夫曼樹讀入
p2=(Node*)malloc(sizeof(Node));
if(fread(p2,sizeof(Node),1,hfmTree)==1)
{
p1->next=p2;
p1=p2;
}
else break;
}
p1->next=NULL;
fclose(hfmTree);
CodeFile=fopen("CodeFile","wb+");
while(!feof(ToBeTran))
{
c=fgetc(ToBeTran);
p3=p->next;
while(p3!=NULL)
{
if(c==p3->a)
{//找到待編字符,并且找到其相應的編碼,將其編碼結果存入到CodeFile文件
fprintf(CodeFile,"%s",p3->c);break;
}
p3=p3->next;
}
}
fclose(CodeFile);
fclose(ToBeTran);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -