其返回类型为
user
*
类型,一个user类的指针,
其参数为
user
*
类型
user是一个类。::是类域作用符,表示load是user类中的一个成员。
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 用于接收数据的内存地址
count 要读count个数据项,每个数据项size个字节.
stream 输入流
返回值
实际读取的元素个数。如果返回值与count不相同,则可能文件结尾或发生错误。从ferror和feof获取错误信息或检测是否到达文件结尾。
feof(fp)函数测试文件fp是否已经读到末尾,不是则返回0,是则返回非零。}while(feof(fp)==0) 这句的意思是,如果文件没到末尾(feof(fp)返回0),继续做循环。
i-1的意思是,当fread(&stu[i],sizeof(struct student),1,fp)读到文件末尾,它会返回且不读取字节,但是下一句i++还是执行了,所以多算了一个字节,因此要减回来。