[C++] Scrittura e Lettura non formattata da file
Scusatemi, sto scrivendo un programma che lavora con dei file, in particolar modo deve leggere carattere per carattere, effettuare la codifica rsa del carattere e riscrivere il carattere codificato su un file binario.
Il problema è che quando una delle due funzioni viene eseguita, il programma va in segmentation fault.. potreste aiutarmi a capire il problema??
grazie!
Il problema è che quando una delle due funzioni viene eseguita, il programma va in segmentation fault.. potreste aiutarmi a capire il problema??
grazie!
void Codifica( int esp, long long int mod ) { char CarCorrente; /**< Variabile in cui è salvato il carattere corrente prelevato dal file*/ ifstream leggi(NomeFileIn); ofstream scrivi(NomeFileOut); while( (CarCorrente = leggi.get()) != EOF ) { scrivi.write(reinterpret_cast<char*>(CalcolaPotenza(CarCorrente, esp, mod)), sizeof(long long int)); } } void Decodifica( int esp, long long int mod ) { long long int Corrente; /**< Variabile in cui è salvato il carattere corrente prelevato dal file*/ ifstream leggi(NomeFileIn); ofstream scrivi(NomeFileOut); while( !leggi.eof() ) { leggi.read(reinterpret_cast<char*>(Corrente), sizeof(long long int)); scrivi.write(reinterpret_cast<char*>(CalcolaPotenza(Corrente, esp, mod)), sizeof(long long int)); } }
Risposte
Cerca di capire quale delle due manda il programma in segfault.
Spargi dei classici getchar() nel main (o comunque nel pezzo di codice in cui vengono richiamate).
Spargi dei classici getchar() nel main (o comunque nel pezzo di codice in cui vengono richiamate).
Quel piccolo pezzo di codice non contiene nulla di strano ad una prima occhiata. Secondo me il problema ha in qualche modo a che fare con CalcolaPotenza. Posta tutto il codice in modo da poter verificare questa ipotesi e in modo da poter fare del debug.