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