Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C++] Esercizio file

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    152

    [C++] Esercizio file

    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 ?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Ma secondo la tua esperienza, cosa useresti ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    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...
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    152
    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 ?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Fossi in te proverei ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    152
    E' questa la strada giusta ? Altrimenti mi dite quale funzione utilizzare ?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    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/s...tring/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 .
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.