标题:[求助]把链表中的数据存入文件,并从文件中读出
只看楼主
withoutme_hw
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-19
 问题点数:0 回复次数:3 
[求助]把链表中的数据存入文件,并从文件中读出
链表存入文件 ,从文件中读出

struct Students
{
char name[20];
unsigned int num;
unsigned int markOfCh;
unsigned int markOfMa;
unsigned int markOfEn;
struct Students *next;
};
typedef struct Students Ss;

Ss * ReadFromFile() /*从文件中读出数据,存入链表*/
{
char filename[20],*pn,n;
unsigned int *pm,i;
Ss *p,*pr,*head;
FILE *fp;
head=(Ss *)malloc(sizeof(Ss));
pr=head;
p=pr->next;
printf("\nenter the filename please:");
scanf("%s",filename);
fp=fopen(filename,"r");
while(feof(fp)==0)
{
fscanf(fp,"%s",p->name);
fscanf(fp,"%d",p->num);
fscanf(fp,"%d",p->markOfCh);
fscanf(fp,"%d",p->markOfMa);
fscanf(fp,"%d",p->markOfEn);
p=(Ss *)malloc(sizeof(Ss));
pr->next=p;
pr=pr->next;
}

p->next=NULL;
return (head);
}


void SaveToFile(Ss *head) /*把链表存入文件中*/
{
char c,filename[20],*pr;
unsigned int *pm;
Ss *p=head;
FILE *fp;
printf("\nenter the filename please:");
scanf("%s",filename);
fp=fopen(filename,"w");
do
{
p=p->next;
fprintf(fp,"%s",p->name);
fprintf(fp,"%c",'\r');
fprintf(fp,"%d",p->num);
fprintf(fp,"%c",'\r');
fprintf(fp,"%d",p->markOfCh);
fprintf(fp,"%c",'\r');
fprintf(fp,"%d",p->markOfMa);
fprintf(fp,"%c",'\r');
fprintf(fp,"%d",p->markOfEn);
fprintf(fp,"%c",'\r');
}while(p->next!=NULL);
}

本人初学者 ,对文件一点都不懂,请各高手指教
为什么用上面的ReadFromFile函数读不了SaveToFile写的文件呢?
(写函数的功能可以实现)
帮忙修改 下 谢了!

搜索更多相关主题的帖子: 链表 文件中 数据 DIV name 
2006-03-22 14:06
withoutme_hw
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-19
得分:0 
help!

好好学C 天天向上
2006-03-22 14:46
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
你要注意文件的打开和关闭
你打开了,读入了数据可是没有关闭,然后又写入了,中间很矛盾

此人已消失
2006-03-22 16:04
withoutme_hw
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-19
得分:0 

哦,这个以后会注意 谢谢提醒
不过还这个应该不会影响整个程序的运行结果的
因为 当程序终止时 文件就自动的关闭了


好好学C 天天向上
2006-03-22 16:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-52022-1-1.html




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

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