Ho un problema urgente!!! Vi spiego:
Devo fare un programma per un esame che gestisca delle iscrizioni leggendo il tutto da file...
Per ora ho fatto questo...
il mio file persone.txt è strutturato così:codice:#include <iostream> #include <fstream> #include <string> using namespace std; struct persona{ string nome; string cognome; string data_nascita; }; ifstream in; persona database[50]; int apri() { char nome[50]; char cognome[50]; char data[10]; int k = 0; in.open("persone.txt"); if(in.fail()) { cout<<"Errore nell'apertura archivio"<<endl; } else { while(!in.eof()) { in.get(nome, 50); in.get(cognome, 50); in.get(data, 50); database[k].nome = nome; database[k].cognome = cognome; database[k].data_nascita = data; k++; } } in.close(); return k; } int main() { int n_persone; n_persone = apri(); for(int i = 0; i < n_persone i++) { cout<<"Nome: "<<database[i].nome<<endl; cout<<"Cognome: "<<database[i].cognome<<endl; cout<<"Data di Nascita: "<<database[i].data_nascita<<endl; return 0; }
Nome1
Cognome1
Data1
Nome2
Cognome2
Data2
...
Il problema è che quando lancio il programma mi viene dato un errore di Segmentation fault...
Chiunque abbia consigli di qualsiasi tipo dica pure!
Grazie in anticipo...

Rispondi quotando