Fread问题

来源:百度知道 编辑:UC知道 时间:2024/09/19 15:56:18
if(fread(&stud[i],sizeof(struct student_type)1,fp)!=1)

!=1指什么

if(fread(&stud[i],sizeof(struct student_type)1,fp)!=1)
少了一个逗号,
应该是:
if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1)

C语言库函数名: fread
功 能: 从一个流中读数据
函数原型: int fread(void *ptr, int size, int nitems, FILE *stream);
参 数:
用于接收数据的地址(字符型指针)(ptr)
单个元素的大小(size)
元素个数(nitems)
提供数据的文件指针(stream)

返回值:成功读取的元素个数

可以看出你所列的代码里,
参数:元素个数的值为1,本次fread是为了读取指定文件中的一个结构体成员,
所以如果正常读取的话,fread调用后的返回值应该为1。
如果不为1,则说明读取出错,需要进行异常处理。