C语言中把文件里面的几组数据依次读出来分别赋值给几个结构体变量(用链表存储)怎么实现?求具体代码

比如structuse{charname[10];charcode[10];structuse*next;};链表带头structuse*head=null;if(文件不... 比如struct use{char name[10];char code[10];struct use *next;};
链表带头 struct use *head=null;
if(文件不为空)

head=(struct use *)malloc(sizeof(struct use));
~~~~~~

假设 文件名为a.txt 怎么判断文件是否为空 怎么判断是否到了文件尾部?(windows下面的判断)
文件里面的内容是 a 1 b 12 c 123 d 1234

满意再加10分
顺便讲解一下fread()函数的具体功能 一个文本里有很多内容 fread函数是否把文本里面的内容读完。假如它把整个文本读完,那么每次读取的内容不同,但我们在写的时候fread(&temp,1,10,pread)只给一个temp变量 temp里面的内容不是被覆盖了??
若只读指定的字节 我要怎么把整个文本的内容遍历完,循环控制条件是什么??
展开
 我来答
diyigehaoren
2012-04-17 · 超过94用户采纳过TA的回答
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:138万
展开全部
feof(),用这个函数判断是否读到文件尾了。
fread(buf,size,count,fp);//buf输入数据起始地址,size 每个数据块的大小,count 每次写入的数据块个数,fp 文件指针
写好后是:
while(!feof(fp))
{
fread(&temp[i],sizeof(struct use),1,fp);//这个读出来放数组里面
i++;
}
问题是你读的是txt文件,完全可以用fscanf()函数么。
广戈0fi
2012-04-17 · 超过11用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:15.9万
展开全部
不是链表么,只要判断head.next=head就知道时空的了,反之亦然
更多追问追答
追问
head.next=head?我不是循环链表
追答
你可以读一次就把它输出啊,这样被覆盖了也不怕了,不是循环读出的吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苟富贵勿相忘忘
2012-04-17
知道答主
回答量:31
采纳率:0%
帮助的人:12.7万
展开全部
只要判断head.next=head
追问
最主要不是链表的操作  我问的是怎么判断到了文件尾
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式