<分区>
我下面的函数必须递增文件中的一个数字,该数字在开始时不存在。第一个“如果”是当文件为空时,第二个是在我的文件中制作“id++”并返回它,但是这个增量不起作用,如果我调用4次函数,它返回“0101” .感谢您的帮助。
int genererId(){
int id=0;
FILE * fichier = fopen("id.txt","w");
fclose(fichier);
fichier = fopen("id.txt","r");
if (fichier != NULL){
if(fscanf(fichier,"%d",&id)!=EOF){
fclose(fichier);
FILE * fichier = fopen("id.txt","w");
fprintf(fichier, "%d", 1);
return 1;
}else{
printf("%d",id);
fclose(fichier);
FILE * fichier = fopen("id.txt","w");
id++;
fprintf(fichier, "%d",id);
fclose(fichier);
return id;
}
}
return -1;
}
int main(){
printf("%d",genererId());
printf("%d",genererId());
printf("%d",genererId());
printf("%d",genererId());
printf("%d",genererId());
printf("%d",genererId());
printf("%d",genererId());
}
当前输出:01010101010101
预期输出:1234567