19/09/10 8:43
spitty_cash
Salve a tutti,
vorrei un aiuto su questo tipo di errore...programmo sotto ambiente linux, ma questo errore è presente anche su windows, con compilatore MinGW g++.
Molto probabilmente l'errore è dato dalla mia ignoranza ma cio che non mi spiego è perchè usando il compilatore microsoft visual c++ non c'è nessun tipo di errore invece con MinGW mi da errore nella lettura del file(Segmentation fault)...e forse anche nella scrittura.
Praticamente questo programma scrive una struttura in un file binario e successivamente la va a leggere mandando in output su console i dati della struttura...vi posto il codice:
Grazie per eventuali risposte!
Ciao a tutti.
vorrei un aiuto su questo tipo di errore...programmo sotto ambiente linux, ma questo errore è presente anche su windows, con compilatore MinGW g++.
Molto probabilmente l'errore è dato dalla mia ignoranza ma cio che non mi spiego è perchè usando il compilatore microsoft visual c++ non c'è nessun tipo di errore invece con MinGW mi da errore nella lettura del file(Segmentation fault)...e forse anche nella scrittura.
Praticamente questo programma scrive una struttura in un file binario e successivamente la va a leggere mandando in output su console i dati della struttura...vi posto il codice:
#include <iostream> #include <string> #include <fstream> using namespace std; int main() { struct Contatto{ string nome; string cognome; }; Contatto Spitty; Spitty.nome="Nome_Spitty"; Spitty.cognome="Cognome_Spitty"; //Scrittura Spitty su file ofstream out; out.open( "dati.rub", ios::out | ios::app | ios::binary ); out.write( (char*)&Spitty, sizeof(Spitty) ); out.close(); //Cambio valori nella struttura ( per verificare che la funzione read abbia letto correttamente ) Spitty.nome="Vuoto"; Spitty.cognome="Vuoto"; cout<<endl; //Visualizzazione struttura Spitty cout<<"\nNome: "<<Spitty.nome; cout<<"\nCognome: "<<Spitty.cognome; //Lettura valori nel file binario ifstream in; in.open( "dati.rub", ios::in | ios::binary ); in.read( (char*)&Spitty, sizeof(Spitty) ); in.close(); //Visualizzazione struttura Spitty cout<<"\nNome: "<<Spitty.nome; cout<<"\nCognome: "<<Spitty.cognome; cout<<endl; return 0; }
Grazie per eventuali risposte!
Ciao a tutti.
Ultima modifica effettuata da spitty_cash 19/09/10 9:00
aaa