構造体のアドレスを関数に渡しています。
void validate(void *ptr)
{
// A variable of type Msgmt Structure
Msgmt msg;
memset(&msg, 0, MSG_SIZE);
// Type casting the void pointer to this structure dev_t
dev_t *elem = (dev_t*)ptr;
msg.msg_id = 10;
if (elem->devCategory == VAL){
// This statement crashes the code
// memcpy(msg.messageData.value.data, elem->data, LEN);
// This statement goes through
memcpy(&msg.messageData.value.data,elem->data,LEN) ;
}
// ... do something
}
messageData は struct msg 内の共用体であり、value は共用体のメンバーであり、data は unsigned char の配列です。
elem->data
のmemcpyをどのように行うべきmsg.messageData.value.data
ですか? (elem->data
の配列ですunsigned char
)
ありがとう !!!