Potreste darmi una mano?? non capisco perchè ma quando vado a visualizzare la lista mi stampa in loop il contenuto del file
Probabilmente l'errore è nella funzione crea_lista(), ma non riesco a capire dove sbaglio 
( per fare delle prove inizio utilizzando una lista contenente solo un campo informazione )
codice:
#include <iostream>
#include <fstream>
using namespace std;
const int max_length = 10;
struct nodo{
char nome[max_length];
nodo* next;
};
typedef nodo* lista;
lista crea_lista()
{
bool res = true;
lista rubrica = NULL;
ifstream leggi_file("../rubrica.txt");
while( res )
{
lista contatto = new nodo;
res = leggi_file >> contatto -> nome;
contatto -> next = rubrica;
rubrica = contatto;
}
return rubrica;
}
bool stampa_lista( lista rubrica )
{
if ( rubrica == NULL )
return false;
while( rubrica != NULL )
{
cout << rubrica -> nome << " ";
rubrica = rubrica -> next;
}
return true;
}