Originariamente inviato da rainofkisses
il file impostazioni.txt contiene il numero dei giocatori il numero dei tentativi rimasti e il nome del file(della categoria)
Quindi diciamo che sicuramente (perché lo hai controllato con un printf) nella variabile

nomefile

c'è il nome del file da cui leggere la parola. Corretto?

parola[30]=CATEGORIA[i] assegna a parola la stringa nella i-esima posizione di CATEGORIA

parola_segreta serve per nascondere la parola, visto che dovrà stampare i trattini al posto della parola
Sì ma se fornisci tutto il codice utile per fare una prova di compilazione senza errori, si fa meno fatica ad individuare il problema.

Ad esempio, lung, parola, parola_segreta danno un errore dato che non sono dichiarate da nessuna parte.

FILE *fp viene usato per passare il file impostazioni.txt
fp non passa il file impostazioni.txt (a parte il fatto che un file non si passa). Il suo uso e' inutile. Eliminalo dai parametri e indicalo all'interno della funzione come semplice variabile locale.

FILE *fp;