PDA

View Full Version : [C Linux]


Lelex82
19-06-2008, 16:11
potete per favore spiegarmi queste istruzioni?

memcpy (packet, &ctrl_head, sizeof (CTRL_header));
memcpy (packet+sizeof(CTRL_header), buffer,buffer_length);

dove packet è un puntatore a char così definito packet= (char*)malloc(MAX_PKT_SIZE);
ctrl_head è una variabile di tipo CTLR_header
CTRL_header è una struct di 4 campi
buffer è un puntatore a una zona di memoria dove leggere e scrivere dati
buffer_lenght è la sua lunghezza.

ilsensine
19-06-2008, 16:19
Vengono concatenati il contenuto di ctrl_head e dei primi buffer_length byte puntati da buffer; il risultato viene posto nella regione di memoria puntata da packet.

Visti i nomi, direi che sta concatenando un header e il suo payload per creare un pacchetto completo.