我编写了一个添加记录,修改记录和删除记录的程序,遇到的问题是我无法修改记录
void recmodify()
{
FILE *fp;
char emp[50];
printf("Name of record :");
scanf("%s",emp);
fp=fopen("C:\\New folder\\babarecord.dat","rb+");
if(fp==NULL)
{
printf("errorrrr!11");
}
rewind(fp);
while((fread(&a,sizeof(a),1,fp))>0)
{
if(a.name==emp)
{ printf("%s %s %f\n\n\n\n",a.name,a.date,a.amount);
printf("\nName : ");
scanf("%s",a.name);
printf("\nDate(DD-MM-YYYY) : ");
scanf("%s",a.date);
printf("Amount : ");
scanf("%f",&a.amount);
fseek(fp,-sizeof(a),1);
fwrite(&a,sizeof(a),1,fp);
getch();
}
}
}
当我执行时,直到我输入修改记录的名称,一切正常,只要按回车键,程序就会自动终止。