PDA

Visualizza la versione completa : [C++] Esercizio file


johnnny
27-02-2013, 23:24
Buonasera ragazzi, ho dei dubbi riguardo ad un algoritmo sui file.
Ecco il testo in linea di massima :
Dato un file di testo amici.txt le cui righe rappresentano informazioni di una persona strutturate in questo modo :
-cognome
-uno o pių spazi
-nome
-uno o pių spazi
-sesso
-uno o pių spazi
-anno di nascita

Bisogna salvare queste info in un array di record. Cosa mi conviene fare per prelevare queste info dal file considerando i pių spazi che possono separare le varie parole ? Ci sono funzioni utili per questo lavoro ?

oregon
28-02-2013, 02:39
Ma secondo la tua esperienza, cosa useresti ?

MItaly
28-02-2013, 02:45
Tieni conto che i normali stream C++, nel momento in cui estrai con l'operatore >>, usano gli spazi (in senso lato - spazio, tabulazione, a capo) come delimitatori, e se anche ce n'č pių di uno lo ignorano tranquillamente. A questo punto mi pare ovvia la scelta di cosa usare... ;)

johnnny
28-02-2013, 12:08
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 ?

oregon
28-02-2013, 12:12
Fossi in te proverei ...

johnnny
28-02-2013, 15:23
E' questa la strada giusta ? Altrimenti mi dite quale funzione utilizzare ?

oregon
28-02-2013, 18:53
Se possono esserci anche cognomi o nomi doppi (Maria Angela o simili) allora non va bene e devi leggere tutta la riga con la

getline
http://www.cplusplus.com/reference/string/string/getline/

in una sola stringa per poi dividerne i contenuti (anche se č un po' complicato se non c'č una regola precisa).

Altrimenti, dovrebbe andare bene il codice che hai utilizzato ma che non hai voluto provare .

Loading