怎样把TXT格式文件中以记录存在的数据读到C语言结构体数组中

我想把文本文件中的记录读到结构体的数组中,记录部分如下:分类号书名作者出版社F224.32/7492博弈学习理论陈学彬上海财经大学出版社1F224.32/0027博弈论基... 我想把文本文件中的记录读到结构体的数组中,记录部分如下:
分类号 书名 作者 出版社
F224.32/7492 博弈学习理论 陈学彬 上海财经大学出版社 1
F224.32/0027 博弈论基础 高峰 中国社会科学出版社 1
F224.3/8023 经济博弈分析 全贤唐 机械工业出版社
请高手指点,谢谢!!!
展开
 我来答
扶扶眼镜Ec
推荐于2016-04-22
知道答主
回答量:25
采纳率:0%
帮助的人:12.7万
展开全部
#include <stdio.h>
#include <stdlib.h>
struct content
{
char id[100];
char bookname[100];
char editorname[100];
char publishname[100];
struct content *next;
};
int main()
{
FILE *fp;///读文件用的文件指针
char root[1000];///记录文件所在的目录
scanf("%s",root);///输入文件所在的目录
fp=fopen(root,"r");///打开文件
if (fp==NULL)///如果文件指针为空,报错
{
printf("无法打开文件!\n");
return 0;
}
struct content *p1,*p2=NULL;
p1=(struct content*)calloc(1,sizeof(struct content));
p2=p1;
while (fscanf(fp,"%s",p1->id)==-1)
{
fscanf(fp,"%s",p1->bookname);
fscanf(fp,"%s",p1->editorname);
fscanf(fp,"%s",p1->publishname);
p2->next=p1;
p2=p1;
p2->next=NULL;
p1=(struct content*)calloc(1,sizeof(struct content));
}
return 0;
}

这是代码,没测试过,不知道对吧,高手不敢当,希望对你有用
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-09-20
展开全部
首先你得知道文件记录的格式是什么样的。
比如说,文件中存的是学生的成绩。
学号 语文 数学
1001 80 90
1002 85 59
……
1、定义结构体信息
struct student
{
char no[10];
float chinese;
float math;
};
2、定义一个结构体数组,用来存所有学生的信息
struct student s[100];
3、读取每一行信息
fscanf("%s %f %f",s[i].no,&s[i].chinese,&s[i].math);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式