引入
前面,我们知道了什么是文件位置标记,以及如何控制文件位置标记,学会了 rewind 和 fseek 这两个函数后,我们就来实现一下随机读写!
例子
输入10个学生成绩,然后存储到文件,接着读入文件,将1,3,5,7,9号学生数据输出到计算机上。
1 |
|
输入:
1002 liulin 93.9
1003 liulin 94.9
1004 liulin 97.9
1005 liulin 98.9
1006 liulin 93.9
1007 liulin 92.9
1008 liulin 94.9
1009 liulin 95.9
10010 liulin 91.9
输出:
存储的数据是:
第1001号liulin的成绩是:99.9
第1002号liulin的成绩是:93.9
第1003号liulin的成绩是:94.9
第1004号liulin的成绩是:97.9
第1005号liulin的成绩是:98.9
第1006号liulin的成绩是:93.9
第1007号liulin的成绩是:92.9
第1008号liulin的成绩是:94.9
第1009号liulin的成绩是:95.9
第10010号liulin的成绩是:91.9
1、3、5、7、9的数据是:
第1001号liulin的成绩是:99.9
第1003号liulin的成绩是:94.9
第1005号liulin的成绩是:98.9
第1007号liulin的成绩是:92.9
第1009号liulin的成绩是:95.9
解析
这两句一定要搞清楚
1 | fseek(fp,i*LEN,0); |
第一句是从0即从文件头开始,向后移动 i 个 LEN 的长度,即移动了文件标记位置。
第二句是,从当前这个位置,读入 LEN 个长度的数据。
尾巴
这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。