如何实现对字符串的算术编码压缩
char* getAllFileData(char*name){
FILE *fp;
char *str;
char buffer[4096];
int filesize;
if ((fp=fopen(name,"r"))==NULL){
printf("打开文件%s错误 error=%s \n",name,strerror(errno));
return NULL;
}
fseek(fp,0,SEEK_END);
filesize = ftell(fp);
str=(char *)malloc(filesize+1);
memset(str,0,filesize+1);
rewind(fp);
int bufsize=sizeof(buffer);
//fgets函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。
while(!feof(fp)){
fgets(buffer,bufsize,fp);
strcat(str,buffer);
}
fclose(fp);
return str;
} 这一段实现了对文本文件的读取。
后续如何对读取出的字符串进行算术编码压缩?有木有大手子懂得 求解!