fread(&c, sizeof(char), 1 , lista);
lista: FILE da cuio leggere;
sizeof(char): è la dimensione del tipo di dati da leggere, in quanto stai leggendo caratteri,
1: numero di caratteri da leggere
&c: indirizzo a partire dal quale inserire i dati letti, in questo caso leggi un solo carattere che sarà memorizzato nella variabile c.
Per leggere una riga alla volta puoi usare:
fgets(c, 10, file);
in cui file indica il file da cui leggere, c deve essere un puntatore a char già allocato con malloc o un array di caratteri, 10 è la lunghezza massima di una riga. Esempio: leggo una alla volta le righe di un file memorizzandole una alla volta in un array c, cancellando di volta in volta la riga precedente:
codice:
char c[100];
while(fgets(c, 10, file)!=NULL) {
printf("String: %s", c);
}