Robert B.: C Pointerei

Beitrag lesen

Moin,

Das Problem ist jedoch, daß man einen 16 Bit BE in C nicht in einem uint16_t ablegen sollte wenn der Prozessor diesen uint16_t als LE auffasst. Nicht einmal mit einem dicken Kommentar dahinter würde ich das tun!

dann erklär mir mal bitte, was daran falsch sein sollte:

const uint16_t someNo = 42;
uint16_t someNwNo = htons(someNo);    /* someNo in network byte order */

printf("Writing to network something #%u\n", someNo);
write(sockh, &someNwNo, 2);

Viele Grüße
Robert