[C++]Leggere da un file.txt singole parole
Salve ragazzi, ho un file.txt con le seguenti righe:
Candidato: Nome: Gaetano, Cognome: Rossi, Data di nascita: 05/Marzo/1990
Adesso, dovrei praticamente inserire Nome, Cognome e Data di nascita in un'array di strutture che ho definito in questo modo:
nel main, dichiaro l'array di strutture in questo modo:
quindi, in candidati avrò:
Come faccio a leggere il file e inserire nella struttura solo alcune informazioni di ogni singola riga?
Grazie anticipatamente,
gaten
[mod="Raptorista"]Aggiusto i tag di codice[/mod]
Candidato: Nome: Gaetano, Cognome: Rossi, Data di nascita: 05/Marzo/1990
Adesso, dovrei praticamente inserire Nome, Cognome e Data di nascita in un'array di strutture che ho definito in questo modo:
struct data{ int giorno; string mese; int anno; }; struct persona{ string nome; string cognome; data data_nascita; };
nel main, dichiaro l'array di strutture in questo modo:
persona *candidati;
quindi, in candidati avrò:
candidati[i].nome="Gaetano"; candidati[i].cognome="Rossi"; candidati[i].data_nascita.giorno=05; candidati[i].data_nascita.mese="Marzo"; candidati[i].data_nascita.anno=1990
Come faccio a leggere il file e inserire nella struttura solo alcune informazioni di ogni singola riga?
Grazie anticipatamente,
gaten
[mod="Raptorista"]Aggiusto i tag di codice[/mod]
Risposte
Quali metodi conosci per la lettura da file?
Utilizzo la libreria "fstream" e per leggere un intero file faccio:
void leggi_file(fstream &myfile){
string row;
cout<<"File:"<
while(!myfile.eof()){
getline(myfile, row);
cout<
}
}
In questo modo leggo il file.
void leggi_file(fstream &myfile){
string row;
cout<<"File:"<
getline(myfile, row);
cout<
}
In questo modo leggo il file.
Devi verificare tra un candidato ed un altro se ci sta il "line feed". (ti serve per capire che il record è terminato)
Puoi usare la "," come terminatore per i campi nome e cognome, la "/" come separatore tra il giorno / mese /anno
Puoi usare la "," come terminatore per i campi nome e cognome, la "/" come separatore tra il giorno / mese /anno
Mi puoi fare un esempio per cortesia?