C 기초 질문이요.....알려주세요.
글쓴이: yoyowon / 작성시간: 목, 2003/04/17 - 11:19오전
void toString(const BYTE* pbtID, int nIDSize, char* pchID) { char achTmp[3] = {0, }; int i = 0; *pchID = '\0'; for (i = 0 ; i < nIDSize ; i++) { sprintf(achTmp, "%02X", *(pbtID + i)); strcat(pchID, achTmp); } return ; }
위 함수는 요....16진수로 풀어서 쓰는 함수거던요...
그니까 pbtID로 넘겨 받는 값이 문자 ABC 즉 41 42 43 이렇게 3세바이트 일때요, 위 함수를 마치고 나면 pchID 에는 34 31 34 32 34 33 이렇게 6바이트가 되서 나가거던요....
4 = 34
1 = 31
4 = 34
2 = 32
4 = 34
3 = 33
이렇게요.
이건 맞는 것 같은데요....제가 알고 싶은건 꺼꾸로 하는 함수를 어떻게 해야 될지 몰라서 질문 올렸습니다.
그러니까 34 31 34 32 34 33 이렇게 들어왔을때.....
41 42 43 으로 만드는 부분을 몰갔네요.
이렇게 저렇게 해봐도 정말 몰갔습니다. 넘 기초적인 건가^^;
아시는 고순님들 좀 알려 주세요.....감솨합네다.
Forums:
훔...
tmp = 0x0F & pchID[i];
tmp = tmp << 4;
tmp = tmp | (0x0F &pchID[i+1]);
요렇게 하면.. 어떨지..
댓글 달기