帮忙找下错
这是一个自定义函数,整个程序编译没问题,但是选择此项运行时总是异常,帮忙看一下
void searchscoreif()
{
FILE *fp1;
struct subject stud;
char sea[20];
int flag=0;
printf("请输入要查找的学生的姓名或学号: ");
scanf("%19s",sea);
while(getchar()!='\n');
if(fp1=fopen("student2.txt","rb")==NULL)
{
printf("文件打开失败!!!\n");
exit(1);
}
//printf("%c",7);
while(!feof(fp1))
{
fread(&stud,sizeof(struct subject),1,fp1);
printf("%c",7);
if((strcmp(sea,stud.name)==0)||(strcmp(sea,stud.stunum)==0))
{
printf("%c",7);
print2(&stud);
flag=1;
break;
}
}
if(flag==0) printf("%c Sorry 查找的人不存在!!!\n",7);
//printf("%c",7);
fclose(fp1);
}
[解决办法]
单步调试吧,看你的函数没有什么问题,就是不知道你打印的时候printf("%c",7);这样的语句是打算做什么
[解决办法]
if( (fp1=fopen("student2.txt","rb")) == NULL)
[解决办法]
while(!feof(fp1)){fread(&stud,sizeof(struct subject),1,fp1);changed to :while (fread(&stud, sizeof(struct subject), 1, fp1) == 1) {}
[解决办法]
给个路径试试if( (fp1=fopen("student2.txt","rb")) == NULL)
[解决办法]