C/Visual C - guardar una estructura en un archivo

 
Vista:

guardar una estructura en un archivo

Publicado por MegaDELT (2 intervenciones) el 19/07/2005 18:32:18
Hola

He creado una estructura del siguiente tipo:

struct estructura
{
char nombre[30];
int cod;
int sto;
int pr;
int co;
};

Y quiero que una vez que lleno esa estructura guardarla en una archivo llenar de nuevo la estructura con otros datos y guardarlos junto con los datos anteriores...

Para desdues leer esos datos.

he buscado en unos manuales pero solo he visto para guardar a lo mas una frase.

Muchas gracias desde ya!
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 una estructura en un archivo

Publicado por fernando.gomez (1603 intervenciones) el 19/07/2005 19:24:24
Ok, sólo tienes que abrir el archivo como ios::out si este no existe, o como ios::app si ya existe. Por ejemplo:

std::ofstream strmWriter;
estructura objEstructura;

strmWriter.open("miarchivo.bin", ios::app); // app de append

strcpy(objEstructura.nombre, "Fernando Gomez");
objEstructura.cod = 22;
objEstructura.sto = 45; //etc
strmWriter.write((unsigned char*)&objEstructura, sizeof(estructura));

strcpy(objEstructura.nombre, "Kith Kanan");
objEstructura.cod = 166;
objEstructura.sto = 10; //etc
strmWriter.write((unsigned char*)&objEstructura, sizeof(estructura));

// etcétera

strmWriter.close();

Cada vez que escribas en el flujo, los nuevos bytes se escribirán al final del archivo. Si ya tienes el archivo con datos, empleas ios::app para que la escritura no sobreescriba los datos, sino que los agregue al final.

Salutes.

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