어허

문자열데이터를 잘라서 헥사코드배열로 바꾸기 ! strtoul() 사용 본문

개발/C(C++)

문자열데이터를 잘라서 헥사코드배열로 바꾸기 ! strtoul() 사용

AKDK 2010. 8. 4. 15:22
728x90
혼자 이틀을 고민하고 찾아보고 고생한거를
단 3분만에 뚝딱 ! 답을 알려주고 가셨다
맙소사
대단, 좌절, 쪽팔, 부끄, 초라, 반성, 부럽 수만가지 감정이 오가는 순간 이었다 !
내가 검색을 잘 못한건가 ,, 구글에도 암만찾아도 이런 건 없더만 ㅠ
어쨌든 ,


   

        //data라는 char에는 xml에서 읽어온 헥사코드들이 문자열로 들어가있다
        // ex) "AA55309C000E..........0D0D"이런식으로
        int i=0;
        int j=0;
        char temp[3];
        unsigned long tmp;
        unsigned char buf[22];
        for(j = 0; j<42; j++){
            temp[0] = data[j];
            temp[1] = data[j+1];
            temp[2] = '\0';
            j++;
            tmp = strtoul(temp, NULL, 16);     // stdlib.h 필요
            buf[i] = (char)tmp;
            i++;
        }

        kocom(buf);

strtoul 함수
: 특정 진수형태의 문자열을 정수(unsigned long형)로 변환

기본형 : unsigned long int strtoul(const char *nptr, char **endptr, int base);
nptr : 특정 진수 형태의 문자열
endptr : 변환이 종료된 지점의 포인터 또는 NULL
base : 진범(2~32) 또는 0


자세한건
#man strtoul
728x90
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
공유하기 링크
Comments