Oppure

Loading
22/06/08 9:05
lorenzo
Salve a tutti.
Ho iniziato a studiarmi il C++ ma ho un problemino con i file.

Ecco il codice

#include<iostream>
#include<fstream>

using namespace std;

void main()
{
	fstream file;
	char *inBuffer = "";
	cout<< "Inserisci il testo" <<endl;
	cin.getline( inBuffer , 200 );
	file.open( "file.txt" , ios::out );
	file.write( inBuffer , 200 );
	file.close();
}


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

Qualcuno saprebbe dirmi cosa succede???
aaa
22/06/08 9:38
gantonio
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;
aaa
22/06/08 10:26
lorenzo
Mea culpa:-|:-|

non mi ero accorto di essermi dimenticato la new.

Grazie mille!!!:k:
aaa