C++ ofstream non funziona?

Pubblicità

Tux89

Utente Attivo
Messaggi
66
Reazioni
0
Punteggio
28
Salve a tutti.
Questa è la prima volta che scrivo su questo forum di programmazione!

Il mio problema è questo:
Quando apro un file in scrittura con

Codice:
ofstream Output( Path, ios::binary);

mi da il seguente errore:
Eccezione non gestita a 0x7c812aeb in Server.exe: Eccezione di Microsoft C++: std::bad_alloc nella posizione di memoria 0x0012..

proprio sulla riga che ho postato. Non è il nome del file perchè ho già controllato.

la funzione fa parte di una classe, come del resto la funzione per leggere i dati, ma mentre quest'ultima funziona perfettamente, il programma mi si blocca sempre all'apertura del file in scrittura.
Se richiamo la stessa funzione da un altra parte del programma (magari dal main) l'errore persiste, ma se provo a scrivere ofstream Output( Path, ios::binary); direttamente dentro il main funziona.

Non riesco a capire quale sia il problema, è come se il programma quando inizializzasse Output non ci riesca, mentre se faccio ifstream funziona tranquillamente...
Grazie in anticipo se riuscite a capirci qualcosa!
 
La sintassi corretta è la seguente

ofstream out("esempio.txt",ios::out);
......
......
......
out.close();

devi specificare l'estensione del file che vuoi creare, e poi devi chiudere il file altrimenti ti da errore. Dove ho messo i puntini vanno messe nei "cout" cio che desideri scrivere su file. meglio se però raccogli tutto in una funzione di stampa e richiamare tra ofstream out(...... e out.close(); una sorta di print(). CIAUZ
 
Pubblicità
Pubblicità
Indietro
Top