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;
}