当把链表已经确定的时候,就可以依次存入文件。和平时链表的遍历一样,每读取一个节点内容就进行一次存入操作。
10年积累的成都网站建设、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有保康免费网站建设让你可以放心的选择与我们合作。
sw是我链表的首地址 fp是文件的指针 下面定义链表类型:num域存放的是int型数据,可根据你的情况来改变。
这是我最开始学习链表的时候写的一个很小的程序,好像不是很完善,但是大致应该没有问题,你可以参照的看看。太晚了,实在是不想写了。
没有你的程序,我也不一定知道我的说法对不对。你读出的时候按照sizeof(node)来读,不要1个1个的大小来读。
这是我最开始学习链表的时候写的一个很小的程序,好像不是很完善,但是大致应该没有问题,你可以参照的看看。太晚了,实在是不想写了。
我原来做过的,学生的成绩情况我是用链表存储(没有用数组),要把这些信息存到dat 文件中,直接用文件的写入就可以了 至于重新插入学生信息,我是直接添加到刚才那个链表的后面,然后重新保存,我就是用的这个方法。
你这不是链表,fread也用得不对。晕啦! 就当锻炼了。帮你重写了。我用的是fgets读文件,所以源文件要用回车隔开。
return;}while(fread(&temp,LEN,1,fp) != 0) {//fread()函数的返回值是读取文件得到的字节数,如果返回0值说明已经读到文件尾部了。
链表是有头节点的,但函数void save(struct student *head)是当作无头结点处理的,或者说,save()函数将头节点的数据(随机产生的)保存到数据文件中了。
接下来,往文件里写的话,用fopen打开文件,用fwrite往这个文件指针里写你的链表变量就行了。
i=3表示读取文件时,循环了四次,也就是说,读取你的文件出问题了,你可以重新创建一个文件试试看。