void WriteToFile()
{
FILE *fp = NULL;
book stu;
char flag = 'y';
fp = fopen("book1.dat", "ab+");//打开文件
if (fp == NULL)
{
printf("文件打开失败!\n");
exit(1);//1表示在有错的方式退出程序
}
while ((flag == 'y' || flag == 'Y'))
{
system("cls");
Menu1();
printf("请输入图书id:");
scanf("%s", stu.id);
printf("请输入书名:");
scanf("%s", stu.name);
printf("请输入书籍作者:");
scanf("%s", &stu.author);
printf("请输入出版社:");
scanf("%s", &stu.publish);
printf("请输入价格:");
scanf("%lf", &stu.price);
fwrite(&stu, LEN, 1, fp);
fflush(stdin);
printf("继续输入吗?继续请输入Y或y:");
getchar();
scanf("%c", &flag);
}
fclose(fp);//关闭文件
return;
}//图书添加的函数
getchar();
scanf("%c", &flag);
这里的getchar()不能要,上面已经清空输入缓冲区了