如何在C程序中修改现有记录?

时间:2019-07-08 18:06:17

标签: c

我编写了一个添加记录,修改记录和删除记​​录的程序,遇到的问题是我无法修改记录

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();
                }
    }
   }

当我执行时,直到我输入修改记录的名称,一切正常,只要按回车键,程序就会自动终止。

0 个答案:

没有答案