c语言user *user::load(user *head)解释?

Python033

c语言user *user::load(user *head)解释?,第1张

这是一个user类的成员函数,名字为load。

其返回类型为

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 用于接收数据的内存地址

size 要读的每个数据项字节数,单位是字节

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++还是执行了,所以多算了一个字节,因此要减回来。