Quote Originariamente inviata da oregon Visualizza il messaggio
Beh, dato che non esiste, diciamo pure che usi una lettura binaria.


Comunque resta vero quello che ti ho detto, se la testata equivale a quella struttura. Altrimenti metti a disposizione il file dati per controllare meglio.

l'idea di fondo è riuscire a popolare una struttura in modo che, se il file viene modificato, è sufficiente modificare la struttura per sistemare il programma.

struct customer
{
char header[2];
char fname[2];
char lname[2];
};

quindi se la strlen() va fino allo '\0', anche la printf() che segue il medesimo ragionamento dello '\0', vuol dire che l'output che osservo è fatto anche di caratteri non appartenenti a quelli letti dal file cioè, sporcizia in memoria.