c语言链表中的文件问题
各位大虾,这段东西哪里不对呢?运行时不输出啊
void printall(struct inf *head)/*****************全部输出********************/
{
struct inf *p;
int i,n,x;
FILE *fp;
p=head;
fp=fopen("通讯录.txt","rb+");
if(fp==NULL)
{
printf("未找到文件!\n");
return ;
}
n=sizeof(*fp);
x=sizeof(struct inf);
for(i=0;i<(n/x);i++)
{
fseek(fp,i*sizeof(struct inf),0);
fread(p,sizeof(struct inf),1,fp);
printf("%d号:\t姓名:%s\t电话:%s\n\n",p->num,p->name ,p->tel);
}
fclose(fp);
}
跪求解答!! c语言 文件 链表
[解决办法]
n=sizeof(*fp);
x=sizeof(struct inf);
// 确定这里循环是可以满足循环条件的么?不确定的话,在循环前打印下 n 和x的值各是多少吧
for(i=0;i<(n/x);i++)
{
fseek(fp,i*sizeof(struct inf),0);
fread(p,sizeof(struct inf),1,fp);
printf("%d号:\t姓名:%s\t电话:%s\n\n",p->num,p->name ,p->tel);
}