Io userei leggere dal file con un normale ciclo fatto così :

while ( in>>persona.nome>>persona.cognome>>persona.sesso>> persona.anno)
{

blocco istruzioni

}

E' corretto? se ci sono più spazi li salta automaticamente ?