case 1: switch(*count)删除指定的文件用不是用*count,看你的函数应该用的是line;记得将这个变量初始化。
查询那里的line是做什么用的,没看出来。
可能刚开始代码运行没什么问题,但是多次运行之后,随着文件里的数据增多,这删除函数也就废了。
查询那里的line是做什么用的,没看出来。
可能刚开始代码运行没什么问题,但是多次运行之后,随着文件里的数据增多,这删除函数也就废了。
[此贴子已经被作者于2016-9-7 11:23编辑过]
void del(int *count) { int n; FILE*fp; char Name[10]; int line = 0; char str[1024]; char filename[100]; printf("请输入客户姓名或订餐号:"); scanf("%s", &Name); for (n = 0; n < 4; n++) { sprintf(filename, "f:\\订餐系统\\用户信息%d.txt", n); if ((fp = fopen(filename, "r")) != NULL) { fgets(str, sizeof(str), fp); fclose(fp); if (strstr(str, Name)) { printf("您的订单如下:\n"); printf("%s", str); printf("是否删除该订单?\n"); printf("1、是,2、否\n"); scanf("%d", &n); if (n == 1) { if (remove(filename) == 0) { printf("删除成功\n"); (*count)--; } else { printf("删除失败\n"); } } } } } }