Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - FILE DI TESTO
Forum - C/C++ - FILE DI TESTO

Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 11:05
Domenica, 22/06/2008
Salve a tutti.
Ho iniziato a studiarmi il C++ ma ho un problemino con i file.

Ecco il codice

Codice sorgente - presumibilmente C++

  1. #include<iostream>
  2. #include<fstream>
  3.  
  4. using namespace std;
  5.  
  6. void main()
  7. {
  8.         fstream file;
  9.         char *inBuffer = "";
  10.         cout<< "Inserisci il testo" <<endl;
  11.         cin.getline( inBuffer , 200 );
  12.         file.open( "file.txt" , ios::out );
  13.         file.write( inBuffer , 200 );
  14.         file.close();
  15. }



Il problema è che mi da errore di violazione di accesso all'apertura del file.

Qualcuno saprebbe dirmi cosa succede???


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 11:38
Domenica, 22/06/2008
Succede che hai dichiarato semplicemente il puntatore ad una stringa, senza allocare lo spazio necessario. Devi scrivere

char *inBuffer = new char[200];

Inoltre, la scrittura su file e' bene che avvenga per l'effettiva lunghezza della stringa, e quindi devi usare

file.write( inBuffer, strlen(inBuffer) );

Quando lo spazio della stringa non serve piu', magari alla fine del programma, eliminalo con

delete [] inBuffer;

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 12:26
Domenica, 22/06/2008
Mea culpa:-|:-|

non mi ero accorto di essermi dimenticato la new.

Grazie mille!!!:k:


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM Quote