次の要素を持つ構造体があります。さらに、構造は完全にパッドされています。
typedef struct {
uint16_t a;
uint16_t b;
uint8_t c;
uint8_t d;
uint8_t e[6];
} ad;
この構造はリトルエンディアンです。つまり、この構造をビッグエンディアンマシンで印刷すると、次のようになります
c=1 の場合、d=2、e[0] =3、e[1]=4。私は得る
c=4、d=3、e[0] = 2、e[1]=1。
a と b が入れ替わっています。さらに、e[1] は c と交換され、e[0] は d と交換されます。
htonl
以下のような関数を使用しています。しかし、それは機能していません。誰かが私に良い答えを提案できますか。