该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我这个是不是逻辑有问题。删除操作后txt文件里就剩下简介的内容。
void Shanchu() //删除图书信息
{
int n=0,i=0;
struct booklist m[100];
struct booklist m2[100];
FILE *fp;
char b[100];
if((fp=fopen("F:\\C\\图书信息.txt","r"))==NULL)
{
printf("文件打开失败");
exit(0);
}
printf("请输入图书书名\n");
scanf("%s",b);
while(!feof(fp))
{
fscanf(fp,"%d,%s %s %lf %d %s\n",&m[n].number,m[n].bookname,m[n].zuozhe,&m[n].danjia,&m[n].shuliang,m[n].jianjie);
if(strcmp(m[n].bookname,b)!=0)
{
m2[i].number =m[n].number;
strcpy(m2[i].bookname,m[n].bookname);
strcpy(m2[i].zuozhe ,m[n].zuozhe);
m2[i].danjia =m[n].danjia;
m2[i].shuliang =m[n].shuliang;
strcpy(m2[i].jianjie,m[n].jianjie);
i++;
}
n++;
}
fclose(fp);
if((fp=fopen("图书信息.txt","w"))==NULL)
{
printf("文件打开失败");
exit(0);
}
int j;
for(j=0;j
{
fprintf(fp,(fp,"%d,%s %s %lf %d %s\n",m2[j].number,m2[j].bookname,m2[j].zuozhe,m2[j].danjia, m2[j].shuliang, m2[j].jianjie));
}
fclose(fp);
printf("删除成功!");
system("pause");
system("cls");
main();
}