C/Visual C - Guardar registro de tamaño variable en fichero;c++

 
Vista:

Guardar registro de tamaño variable en fichero;c++

Publicado por mrubio (2 intervenciones) el 23/03/2005 20:03:18
Hola. Necesito guardar en un fichero binario una estructura de datos (un struct) de tamaño variable (ya que contiene strings y vectores de cualquier posible tamaño). El problema es calcular el tamaño de esa estructura variable, a la hora de llamar a la función
salida.write(reinterpret_cast <char *> (&modulo), sizeof (modulo)); ya que, como digo, no se sabe a priori cuanto ocupará.
¿Puede alguien ayudarme? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar registro de tamaño variable en fichero;

Publicado por El Mogur (202 intervenciones) el 24/03/2005 22:24:35
Esta técnica no te sirve directamente, porque, al tener "tamaño variable", la estructura está guardando en realidad punteros a memoria dinámica. Si guardas la estructura, estarás guardando esos punteros, por lo que al cargarlos no te servirán de nada.

Necesitas pensar en un formato tuyo propio, para guardar cada uno de los campos, y luego recuperarlos de acuerdo con ese formato. Para eso necesitarás varias llamadas a write.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar registro de tamaño variable en fichero;

Publicado por MR (2 intervenciones) el 25/03/2005 18:01:36
De acuerdo; muchas gracias. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar