Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error al tratar de apuntar con un char* a un struct

Estas en el tema de Error al tratar de apuntar con un char* a un struct en el foro de C/C++ en Foros del Web. Hola. Es mi primer mensaje en el foro y lo hago para pedir ayuda, espero que no os parezca mal..xD Estoy implementando un clienteARP para ...
  #1 (permalink)  
Antiguo 24/04/2011, 05:21
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
Error al tratar de apuntar con un char* a un struct

Hola. Es mi primer mensaje en el foro y lo hago para pedir ayuda, espero que no os parezca mal..xD

Estoy implementando un clienteARP para una práctica que tengo que entregar en 2 días. Lo tengo terminado pero al compilar me da un error que no se como resolver porque mi nivel de c++ es bastante bajo.

Para poder plantear mi duda defino primero las funciones que uso en donde me da error:

- La función hwaddr() de la clase linklayer(LLL en mi código) se define como:

struct ether_addr hwaddr() y devuelve los 6 bytes de la dirección ethernet de la interfaz.

- La función ether_ntoa devuelve una cadena con la representación normalizada de la dirección para poder mostrarla por pantalla y se define como:

char *ether_ntoa(const struct ether_addr *addr)

- El struct ether_addr se define en net/ethernet.h como sigue:

struct ether_addr {

u_int8_t ether_addr_octet[6]}

Pues una vez definidos los datos que uso, necesito almacenar los 6 bytes que devulve la función LLL.hwaddr() tanto en un struct del tipo ether_addr(para poder mostrarla por pantalla) como en un char(para poder usarla a la hora de crear el paquete ARP). Mi problema viene en que no soy capaz de guardarlos en un char sin que me dé error.

Mi código sería el siguiente:

struct ether_addr MAC_propia; //defino un struct del tipo ether_addr
MAC_propia=LLL.hwaddr(); // Le asigno el otro struct que devuelve la función hwaddr()
char *MAC_propia_c[6]=MAC_propia.ether_addr_octet; //Uso un char * para que apunte al contenido del struct

Al asignar *MAC_propia_c[6] a la variable ether_addr_octet en la que está la dirección de 6 bytes me da el siguiente error:
error: array must be initialized with a brace-enclosed initializer

Alguién sabe como puedo resolverlo y pasar el contenido del struct a un char¿?

Gracias por adelantado
  #2 (permalink)  
Antiguo 24/04/2011, 08:44
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Error al tratar de apuntar con un char* a un struct

Si te digo la verdad no estoy muy seguro de lo que hace tu aplicación pero prueba a ver si esto te lo soluciona
Código:
char *MAC_propia_c=(char*)MAC_propia.ether_addr_octet;
__________________
Foros Desarrollo de Juegos

Etiquetas: apuntar, char, struct, trazar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:38.