怎么不能读取两条记录啊,现在只能显示一条,目标文件确实有两条记录
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define status int
struct //记录的结构体
{
long num;
char name[10];
char sex;
float score;
}stud;
status bfread()
{
int i;
FILE *fp;
if((fp=fopen(“stud.rec”,”rb”))==NULL)//以二进制打开文件
{
printf(“fail\n”);
exit(0);
}
while(fread(&stud,sizeof(stud),1,fp));//read文件
{
printf(“number: %ld\n”,stud.num);
printf(“name: %s\n”,stud.name);
printf(“sex: %c\n”,stud.sex);
printf(“score: %.2f\n”,stud.score);
}
printf(“\n”);
fclose(fp);//close file
return 1;
}
>> 本文固定链接: http://www.vcgood.com/archives/2649
while(fread(&stud,sizeof(stud),1,fp)==1);//read文件
改成这样试下..我看是文件没有读到尾..
学习了,应该是这样。