C语言中如何将文件中的数据读取到链表中

现在可以实现保存到文件了,但是读取不知道怎么读取,读取的过程是txt文件里的每行数据放入一个链表结点,下一行放入另一个结点。structinfo{charnum[10];... 现在可以实现保存到文件了,但是读取不知道怎么读取,读取的过程是txt文件里的每行数据放入一个链表结点,下一行放入另一个结点。
struct info
{
char num[10];
char name[20];
double score[N];
double sum;
double aver;
};

typedef struct student
{
struct info handle;
struct student *next;
}STU,*LinkList;

我的保存函数是这样的
int SaveFile(const LinkList head)
{
LinkList p = head->next;
FILE *fp = NULL;

fp = fopen("student.txt","w+");
if(fp == NULL)
{
fclose(fp);
return ERROR;
}
fprintf(fp,"学号 姓名 语文 数学 外语 总分 平均分\n");
while(p)
{

fprintf(fp,"%s %6s %3.1f %3.1f %3.1f %3.1f
%3.1f\n",p->handle.num,p->handle.name,p->handle.score[0],p->handle.score[1],p->handle.score[2],
p->handle.sum,p->handle.aver);
p = p->next;
}
fclose(fp);
return OK;
}
展开
 我来答
梦屠
2013-07-19
知道答主
回答量:35
采纳率:0%
帮助的人:12.4万
展开全部
我刚好在做项目,学生管理系统。。。。。给你一个封装好的把
void load(PNODE head)
{
STU stu;
FILE* fp=fopen("stu.txt","rb");
assert(fp!=NULL);
while(fread(&stu,sizeof(STU),1,fp))
{
add_node(head,&stu);
}
}
PNODE create_node()
{
PNODE pnode=(PNODE)malloc(sizeof(NODE));
assert(pnode!=NULL);
return pnode;
}

void init_node(PNODE pnode,PSTU pstu)
{
pnode->stu=*pstu;
pnode->next=NULL;
}

void insert_node(PNODE head,PNODE pnode)
{
pnode->next=head->next;
head->next=pnode;
}

void add_node(PNODE head,PSTU pstu)
{
PNODE pnode=create_node();
init_node(pnode,pstu);
insert_node(head,pnode);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joseph_kitten
2013-07-19 · TA获得超过182个赞
知道答主
回答量:55
采纳率:0%
帮助的人:57.8万
展开全部
怎么写进去的就怎么读出来,相同的格式,用fscanf把数据读出来,然后用这些数据重新生成链表就可以了
更多追问追答
追问
请问下怎么重新生成啊,我自己写了个可是读不进去数据,能帮我看下吗?
追答
跟创建链表是一样的
贴代码我看下吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式