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...
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;
}
il mio file persone.txt è strutturato così:
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...