在一个函数中,下面这两行运行无错误
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]没申请动态空间
文件写完有没有关闭,如果没有,再次打开会报文件被占用错误。
这是另外一个函数中的最后代码,两个函数用的文件指针也是不一样 的。文件有关闭。
处理文件后要关闭的啊,楼上都说了