001
15.12.2007, 15:54 Uhr
Pablo
Supertux (Operator)
|
ist klar, weil data[1] ein uchar und kein char* mehr ist. Mit data[1] bekommst du das Byte an der Stelle 1 zurück, nicht dessen Adresse
C++: |
void StwMeld(uchar *data, uint8 Wert1, uint16 Wert2) { data[0] = Wert1; memcpy(data + 1,Wert2,sizeof(uint16)); }
|
Ich würde aber auf die Endianess des Systems aufpassen, darauf muss man achten, wenn du auf andere Plattformen dein Zeug portierst. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 15.12.2007 um 15:56 Uhr von Pablo editiert. |