Podczas konwersji struktury na char* ucina mi dane.
Kod: Zaznacz cały
struct ethhdr {
char dst[6];
char src[6];
short type;
} header;
char* charhdr=(char*)malloc(14);
char dst[6] ={0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
char src[6] ={0x00, 0x19, 0xe0, 0xa0, 0x00, 0x02};
memcpy(header.dst, dst, 6);
memcpy(header.src, src, 6); <----- to w tym miejscu
header.type = htons(0x0800);
memcpy(charhdr, &header, sizeof(eth_hdr));
cout<<strlen(charhdr)<<endl; //zwraca 6 zamiast 14
I teraz pytanko jak to zrobić żeby zadziałało, i jakby ktoś mógł mi wytłumaczyć dlaczego tak się dzieje to byłbym bardzo wdzięczny.