急!!用feof读取文件的问题

软件VC6.0,win10和win7电脑,win10电脑用while(!feof(fp))读取没问题,最后一行读取为空行,但是win7电脑运行同样的代码,却只读到最后一行,非空行,导致在创建链表头指针时,链表最后尾部结点少了一个,麻烦大佬帮看看是为什么,急!!

Lnode* creat()
{
    FILE *fp;
    fp=fopen("图书信息.txt","r");
    Lnode *p1,*p2;
    Lnode *Head;
    p1=p2=(Lnode*)malloc(LEN);
    Head=NULL;
    fscanf(fp,"%d %s %s %s %s %d",&p1->book_num,p1->book_name, p1->writer_name,p1->publisher_name,p1->data,&p1->book_price);
            while(!feof(fp))
    {
        n++;
        if(n==1)Head=p1;
        else p2->next=p1;
        p2=p1;
        p1=(Lnode*)malloc(LEN);
        fscanf(fp,"%d %s %s %s %s %d",&p1->book_num,p1->book_name,p1->writer_name,p1->publisher_name,p1->data,&p1->book_price);
    }
    p2->next=NULL;
    fclose(fp);
    return Head;
}
```![图片说明](https://img-ask.csdn.net/upload/201910/25/1571993832_621595.png)![图片说明](https://img-ask.csdn.net/upload/201910/25/1571993843_791021.png)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
C语言文件操作问题!!
0
通讯录存储结构是链表形式,类创建的通讯录怎么保存信息到txt文件并读取啊??是C++课设
2
C语言数据文件处理技术问题,从3个单词文件中找出第1个在这3个文件中都出现的单词?
0
用fgets或者fscanf从文件输入到链表中的内容错误!!
0
用fscanf和fgets从文件读取数据存储到链表失败是为什么??
0
求帮助!C语言 图 邻接表文件怎么读取
2
PHP本地html文件替换某个字符串 只返回一行代码
1
c语言用feof判断文件结尾,使用fscanf读取内容,最后一个词为什么被多读了一次。
1
从txt文件中读取数据存入到链表,即使文件没有内容也会存上数字和乱码
1
C语言:替换文件中的字符串
1
c语言,为什么用fread 读入文件 链表 每次都会多一个节点?
1
C语言fscanf读取外部文件的问题
0
C语言 关于读文件及如何实现输入文件中已存在的信息则不允许被添加
1
C语言,我明明把单链表的某个节点删除了,但单链表写入文件时还是会写入一些奇怪的东西?
1
读取文件代码。为什么只输出 :CHINA.ZBI'was not opened?
1
这是职工管理系统的源代码,问题主要是无法以正确格式输出文件内容和修改函数不起作用,希望得到指导。
1
为什么读文件最后一行内容会重复输出两次
2
C语言从文件读入姓名,电话号码,地址数据的一些问题,为什么只能读李明,其他的不能读出来?
1
C语言拷贝大文件问题?
1
C语言用malloc有数量限制吗?