Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] Splittare testo letto da file

    Salve a tutti,

    non sono esperto del C++, sto creando una applicazione che legge file di testo, formattati in modo tale che contengano per ogni riga un record ed uno spazio tra i vari campi, una cosa del tipo:

    nome cognome età
    Mario Rossi 25

    Ora io riesco a leggere dalla riga tramite il metodo "getline();" una intera riga di testo, vorrei (come faccio con altri linguaggi) prendere ad esempio solo il cognome tramite uno Split, in Asp farei uno split(....)(1) e prenderei solo il cognome, in C++ esiste una funzione ceh fà questo, ovvero crea un array di stringhe dividendo le parole quando trova uno spazio?

    Saluti

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No ... la Split e' complessa ed e' fatta da piu' funzioni ... devi creartela tu ...

  3. #3
    Una cosa del tipo:

    Codice PHP:
    creo un array
    creo una variabile

    finquando no finisce la stringa 
    {
      
    finquanto non trovo uno spazio
        
    prendi carattere e copialo in una variabile
      
    }
      
    immagazzina la variabile come nuovo elemento degli array

    Può andare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Prova!

    Trova un metodo per rendere più efficace la pratica prova&errore. Poniti domande.

    Quali sono i limiti concettuali che mi impediscono di risolvere il problema?
    Il problema è complesso: divide et impera.
    Quali sono i limiti specifici (sintattici, implementativi) che mi impediscono di risolvere il problema?
    Non conosco costrutti adatti: reference, documentazione, internet.

    Butta giù qualche riga. Funziona?
    Se non funziona, ripeti il procedimento.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286

    Re: [C++] Splittare testo letto da file

    Ora io riesco a leggere dalla riga tramite il metodo "getline();" una intera riga di testo, vorrei (come faccio con altri linguaggi) prendere ad esempio solo il cognome tramite uno Split, in Asp farei uno split(....)(1) e prenderei solo il cognome, in C++ esiste una funzione ceh fà questo, ovvero crea un array di stringhe dividendo le parole quando trova uno spazio?
    Mi pare che il tuo problema sia separare un "parola" contenuta in una stringa di caratteri. Il computer non sa che cosa sia per noi un "parola", ma noi sappiamo che si tratta di un gruppo di carattri delimitati da spazio bianco. Io ti consiglierei di utilizzare la funzione strtok ed utilizzare come delimitatore proprio il blankspace.

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.