salve a tutti
premetto che sono un provetto "programmatore" alle prime armi..
volevo sottoporvi un mio problemino..
devo creare una funzione che copia i dati di un file in una lista..
quello che segue e' il codice che sono riuscito a mettere insieme...
codice:
struct persona {
char nome [30];
char lavoro [20];
persona *next;
}
persona *archivio (int n) //creo un nuovo archivio
{
persona *p0 = 0;
persona *p;
for (int i=0; i<n; i++)
{
p = new persona;
file >> p->nome; //copio dati
file >> p->lavoro;
p->next = p0;
p0 = p;
}
return p0;
}
void carica ()
{
fstream file;
file.open ("dati.txt", ios::in); //apro il file in lettura
if (!file) //controllo apertura file
{
cout << "Impossibile aprire il file.";
exit (1);
}
persona *archivio (n);
file.close ();
}
i problemi che mi affliggono sono 2..
1) come posso trasformare la creazione della lista in un modo dinamico? (quindi evitando di passare n)
2) come gli faccio capire quando e' arrivato a fine file e di non creare altri nodi?
:master: