Código
/* Si el fichero es nuevo, le metemos los datos para la tabla, y la cubeta que nos dicen. Reservamos memoria para la cubeta. */ void ficheroDisperso::crear(string& url, unsigned int tamTabla, unsigned int tamCubeta) { if(this->fDisp.is_open()) this->fDisp.close(); if(this->cub.datos == NULL) delete[] this->cub.datos; this->fDisp.open(url.c_str(), ios::in | ios::out | ios::binary | ios::trunc); if(!this->fDisp.is_open()) throw excepciones::fichNoAbierto(); this->tamTabla=tamTabla; this->tamCubeta=tamCubeta; cub.datos = new Pueblo[this->tamCubeta]; this->fDisp.write(reinterpret_cast<char *>(&this->tamTabla), sizeof(unsigned int)); this->fDisp.write(reinterpret_cast<char *>(&this->tamCubeta), sizeof(unsigned int)); for (unsigned int i=0; i <tamTabla; ++i) { this->fDisp.write(reinterpret_cast<char *>(&cub.tam), sizeof(unsigned int)); this->fDisp.write(reinterpret_cast<char *>(cub.datos), sizeof(Pueblo)*tamCubeta); } }
Pero no entiendo las líneas que ponen esto:
Código
this->fDisp.write(reinterpret_cast<char *>(&this->tamTabla), sizeof(unsigned int)); this->fDisp.write(reinterpret_cast<char *>(&this->tamCubeta), sizeof(unsigned int));
Podrían decirme cuál es su finalidad? Si no creo mal, podría ser algo de un casting?
Gracias de antemano!