feof(fp)函数测试文件fp是否已经读到末尾,不是则返回0,是则返回非零。
创新互联公司-专业网站定制、快速模板网站建设、高性价比水城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式水城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖水城地区。费用合理售后完善,十载实体公司更值得信赖。
}while(feof(fp)==0); 这句的意思是,如果文件没到末尾(feof(fp)返回0),继续做循环。
i-1的意思是,当fread(stu[i],sizeof(struct student),1,fp);读到文件末尾,它会返回且不读取字节,但是下一句i++还是执行了,所以多算了一个字节,因此要减回来。
if
(fread
(stud[i],
sizeof(struct
Student_type),
1,
fp)
!=
1)
见下面说明:如果返回值与count不相同,则可能文件结尾或发生错误。
count=1,所以要与1比较。
函数原型
size_t
fread
(
void
*buffer,
size_t
size,
size_t
count,
FILE
*stream)
;
参
数
buffer
用于接收数据的内存地址
size
要读的每个数据项的字节数,单位是字节
count
要读count个数据项,每个数据项size个字节.
stream
输入流
返回值
实际读取的元素个数。如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。
void load()
这代表一个函数,函数名是 load,函数没有返回值。
head 通常应该是指头指针 ,load()是个函数,fname是load函数的实参, 函数load()的返回值类型应该是一个指针。
所以 head=load(fname)的意思是: 将 函数load(fname)的返回值赋给head。
-的意思是用指针调用对应的成员,现即调用systick指向的那个对象的load的数据成员
这是一个user类的成员函数,名字为load。
其返回类型为
user
*
类型,一个user类的指针,
其参数为
user
*
类型
user是一个类。::是类域作用符,表示load是user类中的一个成员。