C语言文件/哈夫曼树/算法/二叉树

 在一个函数中,下面这两行运行无错误
fp=fopen("CodeFile.dat","wb");
fwrite(HC[i],sizeof(char),strlen(HC[i])+1,fp);
//其中HC的类型是char **

//然后在另外一个函数中加入
fp=fopen("CodeFile.dat","rb");
for(int i=1;i<=n;i++)
    fread(HC[i].sizeof(char),strlen(HC[i])+1,fp);
//就不行了,老是运行到这三行就出错。!!
//补充一些
typedef char ** HuffmanCode;
HuffmanCode HC;
HC = (HuffmanCode)malloc((n+1)*sizeof(char *));
//求救

没给HC[i]没申请动态空间

图片说明

文件写完有没有关闭,如果没有,再次打开会报文件被占用错误。

图片说明
这是另外一个函数中的最后代码,两个函数用的文件指针也是不一样 的。文件有关闭。

处理文件后要关闭的啊,楼上都说了