C语言 文件读写 写不出来 求帮助0
void HuffmanCode(int n,lable a[]) //霍夫曼编码 { HNodeType HuffNode[MAXNODE]; HCodeType HuffCode[MAXLEAF],cd; lable Huffa[MAXWEI]; int i,j,c,p; HuffmanTree(HuffNode,n,a); FILE *fout; fout=freopen("datao... void HuffmanCode(int n,lable a[]) //霍夫曼编码
{
HNodeType HuffNode[MAXNODE];
HCodeType HuffCode[MAXLEAF],cd;
lable Huffa[MAXWEI];
int i,j,c,p;
HuffmanTree(HuffNode,n,a);
FILE *fout;
fout=freopen("dataout.txt","w",stdout);
for (i=0;i
{
cd.start=n-1;
c=i;
p=HuffNode[c].parent;
while (p!=-1)
{
if (HuffNode[p].lchild==c)
cd.bit[cd.start]=0;
else cd.bit[cd.start]=1;
cd.start--;
c=p;
p=HuffNode[c].parent;
}
for (j=cd.start+1;j
HuffCode[i].bit[j]=cd.bit[j];
HuffCode[i].start=cd.start;
}
fprintf(fout,"霍夫曼编码\n\n");
fprintf(fout,"字符\t权重\t编码");
for (i=0;i
{
HuffCode[i].letter=HuffNode[i].letter;
fprintf(fout,"\n\n%c\t%d\t",HuffCode[i].letter,HuffNode[i].weight);
for (j=HuffCode[i].start+1;j
fprintf(fout,"%d",HuffCode[i].bit[j]);
}
}
这是代码,写在txt文件里没有内容;若不写到文件里,则可以在exe中显示,求各路神仙帮助!! 展开 经过一番修改调试,问题已解决,原因是没有将打开的文件关闭,在函数执行结束的地方加上fclose(fin);fclose(fout);即可。谢谢大家的热心帮助。分给一位同学,那就先回答的那位吧。