| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 833 人关注过本帖
标题:读取文件到链表的问题,希望各位大神帮忙看看
只看楼主 加入收藏
古刹游子
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-27
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
读取文件到链表的问题,希望各位大神帮忙看看
我想把文件中的几组数据读入到链表中然后再输出,可是一直不能实现。。。。
程序代码:
{
    struct zhigong*p = &head;
    struct zhigong*obj = (struct zhigong*)malloc(sizeof(struct zhigong));
    FILE*fq;
    printf("所有员工信息如下:\n");
    fq = fopen("D:\\工资管理.txt", "rb");
    while (p->sfgz)
    {
         fread(p,sizeof(&p), 8, fq);
         printf("工号:%s 姓名:%s 岗位工资:%.2f 绩效工资:%.2f 个人扣款:%.2f 应发工资:%.2f 实发工资:%.2f\n", &p->gonghao, &p->xingming, p->gwgz, p->jxgz, p->grkk, p->yfgz, p->sfgz);
         p->next=obj;
         p=p->next;
    }
    fclose(fq);
}
2016-11-27 22:36
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:2 
fread(p,sizeof(&p), 8, fq);
sizeof(&p)改成sizeof(zhigong)试试看行不行。

当然,估计还要把malloc放到循环当中来,每出现一个节点,就malloc一次,再赋给next,这样应该才能弄出链表
2016-11-27 22:49
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:2 
我猜不用加p=p->next 吧,直接把链表数据重复录入到同一个节点就行了(不过这样后面的数据会覆盖前面的数据,直接输出是可以的)。但是p=p->next 就意味着把链表指针的位置改变了。
加了反而会出错~

[此贴子已经被作者于2016-11-27 23:38编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-27 23:37
古刹游子
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-11-27
收藏
得分:0 
回复 2楼 yangfrancis
还是不对,大神能不能再帮小弟看看,感激不尽
2016-11-28 16:09
快速回复:读取文件到链表的问题,希望各位大神帮忙看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016006 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved