यह सवाल मूल रूप से करने के लिए दूसरी छमाही है मेरे अन्य Questionएक UINT8 सरणी में एक UINT16 मूल्य परिवर्तित [2]
मैं एक UINT16 मूल्य कैसे परिवर्तित कर सकते हैं, एक UINT8 में * एक पाश के बिना सरणी और endian समस्याओं से बचने।
मूल रूप से मैं इस तरह कुछ करना चाहता हूँ:
UINT16 value = 0xAAFF;
UINT8 array[2] = value;
इस के अंतिम परिणाम जबकि endian रूपांतरण से आपका बचाव एक UINT8 सरणी में मान संग्रहीत है।
UINT8 * mArray;
memcpy(&mArray[someOffset],&array,2);
जब मैं बस UINT16 मूल्य के साथ memcpy करते हैं, यह छोटी-endian जो उत्पादन खंडहर में धर्मान्तरित। मैं एंडियन रूपांतरण कार्यों का उपयोग करने से बचने की कोशिश कर रहा हूं, लेकिन लगता है कि मैं भाग्य से बाहर हो सकता हूं।
यह अभी भी endianness को (मूल रूप से, यह प्रश्न में 'memcpy' के रूप में एक ही बात करता है) संवेदनशील है, क्योंकि यह काम नहीं करता। –