Eu não entendi como no primeiro fprintf ele substituiu o numero, e no segundo fprintf ele acrescentou a palavra, não substituiu. Eu entendi o codigo mas não a logica como o programa sabe que é pra substituir ou acrescentar, ele so acrescenta no final? e no inicio substitui?
void adcionapalavra(){
char quer;
printf("Voce quer adicionar uma nova palavra ao jogo? (S/N)");
scanf(" %c", &quer);
if(quer == 'S'){
char novapalavra[20];
printf("digite a nova palavra do jogo\n");
scanf("%s", novapalavra);
FILE* f;
f = fopen("palavra.txt", "r+");
if(f == 0){
printf("Desculpa, arquivo não encontrado");
exit(1);
}
int qtd;
fscanf(f, "%d", &qtd);
qtd++;
fseek(f, 0, SEEK_SET);
fprintf(f, "%d", qtd);
fseek(f, 0, SEEK_END);
l
fprintf(f, "\n%s", novapalavra);
fclose(f);
}
}