printf("\nID #: %d",counter++);
fflush(stdin);
printf("\nEnter Menu Name: ");
scanf("%[^\n]s",&menus.name);
fflush(stdin);
printf("Enter what the menu made of (pork,beef,chicken): ");
fflush(stdin);
scanf("%[^\n]s",&menus.make);
printf("Number of Servings: ");
fflush(stdin);
scanf("%d",&menus.numserve);
fflush(stdin);
printf("Price: ");
scanf("%f",&menus.price);
fflush(stdin);
fwrite(&menus, 1, sizeof(menus), fp);
numofentrees--;
我的问题是我想自动生成我的ID#所以我增加它,然后我希望我的文件处理读取最后一个数字例如我希望输入2条记录然后我的ID号应该生成1和2然后我填写我希望再次生成记录的记录,然后我的下一个ID号码应为3,但在我的程序中,它将再次返回ID#1。有人可以向我解释,谢谢。我正在使用C语言
答案 0 :(得分:0)
在您的pastebin中,行int counter=1;
定义了一个局部变量,其生命周期仅在函数调用期间。在下次通话时,它再次初始化为1
。您可以将其定义为static int counter = 1;
...
- 风向标