int WriteFile(char*pFilename,HEAD sHead,char*pBuffer,int nSize)
{
char filename[256]={0};
strcpy(filename,pFilename);
int i;
for(i=strlen(filename);filename[i]!='.';i--);
filename[i]='\0';
strcat(filename,".huf");
FILE*out=fopen(filename,"wb+");
fwrite(&sHead,sizeof(HEAD),1,out);
fwrite(pBuffer,sizeof(char),nSize,out);
fclose(out);
out=NULL;
cout<<"生成压缩文件:"<<filename<<endl;
int len=sizeof(HEAD)+strlen(pFilename)+1+nSize;
return len;
}
改成
int WriteFile(char*pFilename,const HEAD sHead,char*pBuffer,int nSize)
{
char filename[256]={0};
strcpy(filename,pFilename);
int i;
for(i=strlen(filename);filename[i]!='.';i--);
filename[i]='\0';
strcat(filename,".huf");
FILE*out=fopen(filename,"wb+");
fwrite(&sHead,sizeof(HEAD),1,out);
fwrite(pBuffer,sizeof(char),nSize,out);
fclose(out);
out=NULL;
cout<<"生成压缩文件:"<<filename<<endl;
int len=sizeof(HEAD)+strlen(pFilename)+1+nSize;
return len;
}
参考武汉理工大学数据结构与算法综合实验哈夫曼树 (1) - 百度文库 (baidu.com)
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632