memcpy 간단한 질문입니다.
글쓴이: guriis / 작성시간: 목, 2004/04/01 - 7:13오후
WORD 를 2byte 로 BYTE는 1byte 로 정의를 했습니다.
WORD 에 0x1234 값을 저장하고 2개의 BYTE 배열에 WORD값을 복사했는데
첫번째 BYTE 에는 0x34 두번째 바이트에는 0x12 값이 들어가내요..
제가 원했던 부분은 WORD 들어간 순서대로
첫번째 BYTE 에는 0x12
두번째 BYTE 에는 0X34
값이 저장되어야 합니다.
memcpy 로는 위와같이 저장할 수 없나요..?
아니면 다른 방법이 있으면 조언을 부탁합니다.
typedef unsigned char BYTE16; typedef unsigned short WORD32; . . . BYTE16 a[2]; WORD32 b; b=0x1234; memcpy(a, &b, 2); 결과 ==> a[0] = 0x34 a[1] = 0x12
제가 했던 간단한 소스도 올립니다.
Forums:
이거 엔디안 때문에 그러는거네요.-_-ㅋ
intel 계열의 프로세서의 경우 저런식으로 거꾸로 들어갑니다.
직접 상위/하위 반반씩 잘라서 저장시켜주거나
htonl같은 함수로 처리해줘서 하면 됩니다.으윽 주위에서 스타하라는 압박이
심해서 예제코드는 못 붙일듯.
galadriel in the tower of elves
예제를 대신해서...
galadriel 님 이기세용~~~
삽질의 대마왕...
고맙습니다.
설명해주신 galadriel 님.
예제 소스 올려주신 litdream 님
고맙습니다.
댓글 달기