发布网友 发布时间:1天前
共2个回答
热心网友 时间:21小时前
if(fread(&c[0],sizeof(struct kehu),1,gp)!=NULL) { for(j=0;j<k-1;j++)//if判断时已经读过一个struct了,这里j应该从1开始循环 //另外,可能j还没有达到k-1时,就已经到达文件尾了,你应该做一个判断 //而且Fread()会返回实际读取到的数目,你用等于NULL来做IF判断是错误的 fread(&c[j],sizeof(struct kehu),1,gp); fclose(fp); }热心网友 时间:21小时前
有可能是打开文件失败,你应在打开文件之后判断gp是否为NULL,不为NULL时才可对文件进行后续的访问。