C语言feof问题?
题主大一C语言小白。。。今天在写一个从文件中读取链表中的程序的时候发现运行之后总是多出一组乱码数据 上网查过后后发现是feof的问题 只有fread结尾一次才会返回非零值 也就是说读到结尾之后还会再读一次 但是没想到怎么改呀。。。网上的都是fgetc的改法 我這个是要存到链表里呀 改的方法不一样呀 求大神帮帮忙指点一下怎么搞/(ㄒoㄒ)/~~ list传的是已经声明的链表头 内两个printf函数是之前找错用的 请大噶帮帮忙/(ㄒoㄒ)/~~
void put_ent_list(node1 *list,FILE *fq)
{
while(1)
{
fread(list,sizeof(node1),1,fq);
printf("aaa\n");
if(feof(fq))
break;
list->next=(node1 *)malloc(sizeof(node1));
printf("bbb\n");
list=list->next;
}
list=NULL;
fclose(fq);
}