为了账号安全,请及时绑定邮箱和手机立即绑定

关于文件的读写问题

关于文件的读写问题

C
WANY2 2018-07-15 01:51:23
/****************删除歌曲信息****************/void Delete(int *N1){ int i, M = -1; char m[20]; char j[20]; char l[20]; char k[20]; printf("删除歌曲信息:"); printf("\n\n\n"); printf("***************************************\n"); printf("*                                     *\n"); printf("*  1:歌名                2:作者     *\n"); printf("*                                     *\n"); printf("*                                     *\n"); printf("*  3:演唱者              4:发行年月 *\n"); printf("*                                     *\n"); printf("***************************************\n"); printf("\n\n请输入删除选项:"); scanf("%d", &i); if (i == 1) { printf("请输入歌名:"); scanf("%s", &m); for (i = 0; i < *N1; i++) if (strcmp(m, SI[i].name) == 0) M = i; } else if (i == 2) { printf("请输入作者:"); scanf("%s", &j); for (i = 0; i < *N1; i++) if (strcmp(j, SI[i].author) == 0) M = i; } else if (i == 3) { printf("请输入歌手:"); scanf("%s", &l); for (i = 0; i <*N1; i++) if (strcmp(k, SI[i].singer) == 0) M = i; } else if (i == 4) { printf("请输入发行年月:"); scanf("%s", &k); for (i = 0; i <*N1; i++) if (strcmp(l, SI[i].pub_date) == 0) M = i; } if (M != -1) { *N1 = *N1 - 1; for (i = M; i <*N1 && M != -1; i++) SI[i] = SI[i + 1]; } else if (M == -1) printf("没有找到!\n"); fclose(fp);}我用该函数删除文件中的信息,但是在运行框里可以看到信息已被删除,但是原文件中还是没有删除,是不是读写问题出错了。(但是可以用输入函数输入信息到文件中,退出运行框后,打开文件,可以显示已储存的文件。)
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

这段代码除了最后的 fclose 之外,我好像没看到其他的文件操作啊! 你似乎就没读写文件

查看完整回答
反对 回复 2018-07-15
  • WANY2
    WANY2
    我应该如何将删除后的信息写入文件呢
  • 1 回答
  • 0 关注
  • 790 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信