Cette question est essentiellement la deuxième moitié de mon autre QuestionLa conversion d'une valeur UINT16 dans un tableau de UINT8 [2]
Comment puis-je convertir une valeur UINT16, dans un UINT8 * tableau sans une boucle et d'éviter les problèmes endian.
Fondamentalement, je veux faire quelque chose comme ceci:
UINT16 value = 0xAAFF;
UINT8 array[2] = value;
Le résultat final de c'est de stocker la valeur dans un tableau de UINT8 tout en évitant la conversion endian.
UINT8 * mArray;
memcpy(&mArray[someOffset],&array,2);
Quand je fais simplement memcpy avec la valeur UINT16, il convertit à petit-boutiste qui ruine la sortie. J'essaie d'éviter d'utiliser les fonctions de conversion endian, mais pense que je peux juste être hors de la chance.
Cela ne fonctionne pas parce qu'il est toujours sensible à boutisme (essentiellement, il fait la même chose que le 'memcpy' dans la question). –