我编一个输入学号然后删除这位学生的所有信息,请问错在哪了
typedef struct
{
char num[10];
char name[10];
char sex[5];
int age;
}STUDENT;
void del()
{
FILE *fp;
STUDENT s[100];
char a[10];
int z,p,i=0;
fp=fopen(filename,"rb");
if(fp==NULL)
{
printf("文件打开失败");
return;
}
printf("请输入您要删除学生的学号:");
scanf("%s",a);
while(!feof(fp))
{
fread(&s[i],sizeof(STUDENT),1,fp);
i++;
}
fclose(fp);
for(p=0;p<i-1;p++)
if(a==s[p].num)
{z=p; break;}
fp=fopen(filename,"wb");
for(p=0;p<i;p++)
{
if(p==z) continue;
fwrite(&s[p],sizeof(STUDENT),1,fp);
}
printf("删除成功!");
fclose(fp);
}
[此贴子已经被作者于2006-5-26 21:43:08编辑过]