ciao, devo scrivere su un file binario che interpreto come composto da N interi, un intero, in una posizione che ottengo grazie ad una funzione int getLocation() che non scrivo per evitare di essere inutilmente prolisso, ritorna semplicemente una posizione.

"value" è un parametro definito nella parte privata della funzione

fstream inFile;

la funzione che devo scrivere, fa parte di una classe (la stessa di getLocation()).

void NomeClasse::writeInteger()
{

inFile.seekp ( getLocation() * sizeof(int) ) ;

inFile.write (reinterpret_cast < const char* > (&value), sizeof(int);

}

vorrei capire precisamente il significato di "reinterpret_cast < const char* > (&value)", tutto il resto mi è chiaro.

Inoltre mi chiedevo perchè quando invece si va a leggere dal file binario, dopo aver specificato la posizione con seekg, il primo parametro di inFile.read è

reinterpret_cast < char* > (&value)

senza const davanti a char.



ringrazio anticipatamente chiunque voglia aiutarmi