Per quanto riguarda la parte di inserimento nel file ti conviene acuisire i vari i dati in qualcosa di temporaneo (struct, vettore) e poi stamparli su file con una fprintf;
per quanto riguarda invece la parte di lettura e ricerca io userei una fscanf per acquisire i tre campi (nome,cognome,CF) magari salvandoli in una struct, e dopo un opportuno confronto del codice fiscale acquisito con quello che vuoi decidi se stampare la struct;
imposterei cosi la struct sia per scrivere su file che per leggere da file:
#define MAX 35
struct persona{
char nome[MAX];
char cognome[MAX];
char CF[MAX];
};