C/Visual C - pasar una estructura a array

 
Vista:

pasar una estructura a array

Publicado por Charly (1 intervención) el 16/12/2003 20:14:30
Hola.
Quiero pasar una estructura (struct algo ) a un array de tipo char para poderlo escribir tal cual a un fichero. He intentado lo siguiente:
char *buffer = (char*) malloc (tamanyoBuffer);
int i;
for (i=0;i<sizeof(laEstructura);i++)
buffer[i]= ((char)laEstructura[i]);

El compilador me dice:
fs.c:81: error: subscripted value is neither array nor pointer

¿me podríais echar una mano?
Un saludo
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:pasar una estructura a array

Publicado por chuidiang (677 intervenciones) el 17/12/2003 10:21:14
No te hace falta hacer nada especial.

Si tu variable estructura es a

struct algo a;

Te basta con hacer esto

char *buffer = (char *)&a;

Ya tienes buffer, como puntero de caracteres, apuntando al principio de la estructura. Para escribirla en un fichero pones, por ejemplo

FILE *fichero = fopen (...);
fwrite (buffer, sizeof(a), 1, fichero);

Se bueno.
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