C语言 如何把文件里面的内容存到结构体数组里面

文件里面的内容之前是用结构体链表存进去的。每个单位的长度是LEN如何把文件里面的所有内容按顺序存到结构体数组里。定义这个数组之前,结构体数组的长度怎么求。求所用到的函数名... 文件里面的内容之前是用结构体链表存进去的。每个单位的长度是LEN
如何把文件里面的所有内容按顺序存到结构体数组里。 定义这个数组之前,结构体数组的长度怎么求。

求所用到的函数名称,我先自行百度,不懂再追问。
struct istudent
{int iID;
int iscore;
char iname[4];};
struct istudent istu[1000];

void reading()
{int i;
FILE*ifp;
ifp=fopen("学生数据预存信息","rb")
fscanf(ifp,"%d%d%S",&istu[i].iID,&istu[i].iscore,istu[i].iname)
}
循环条件该怎么写呢 实际没有1000个数据
展开
 我来答
tattackor
2015-10-31 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:898万
展开全部

需要使用文件操作函数fwrite和fread。

读物文件并写入结构体,同时保存文件的代码如下:

1、写

FILE* fp = fopen("card.dat", "wb");
for(int i = 0; i < counts; i++)
{
fwrite(&card[i], sizeof(struct card), 1, fp);
}
fclose(fp);


2、读

FILE* fp = fopen("card.dat", "rb");
int index = 0;
while(!feof(fp))
{
fread(&card[index++], sizeof(struct card), 1, fp);
if(index >= 1000)
break;
}
fclose(fp);
White_MouseYBZ
2014-05-29 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6711万
展开全部
把接收结构体声明成与事先存入的结点结构体一致,用fscanf很方便地就读出来了……
追问
有方法可以不用定义两个结构体吗?
我是用链表把数据存入文件,读取时得在文件说明部分再定义一个结构体数组?
追答
链表的结点不是结构体?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式