string2array in c

Programing/C언어 | 2009/10/18 19:32 | adioshun
#include <stdio.h>

int main()
{

        unsigned char *ascii = "ff3f3c4d";
        unsigned char hex[8];
        unsigned char arrary[4];
       
        string2hex(ascii, 4, arrary);
       
        printf("%02x %02x %02x %02x \n",arrary[0],arrary[1],arrary[2],arrary[3]);
       
        return 0;
}


int string2hex(unsigned char *string, int number, unsigned char *arrary)
{
//ascii=변환할 스트링 값, number= 배열 크기, arrary=변환되어 저장될 공간
    unsigned char AscToHex(unsigned char Data)
        {
            if(Data < 0x30)
                return 0;
       
            if( (0x30<= Data) && (Data<= 0x39) )
            {
                Data-= 0x30;
                return Data;
            }
            if(('a'<= Data) && (Data<= 'f'))
            {
                Data-= 0x57;
                return Data;
            }
            if(('A'<= Data) && (Data<= 'F'))
            {
                Data-= 0x37;
                return Data;
            }
            return 0;
        }
unsigned char hex[number*2];   

int i=0;
for (i=0; i<number;i++)
    {
        hex[0] = AscToHex(string[i*2]);
        hex[1] = AscToHex(string[(i*2)+1]);
        arrary[i] = hex[0]<<4;
        arrary[i] = arrary[i]|hex[1];
    }

}
작성 : 20091018 by LIMHUNJUNG
http://www.4ellene.net

2009/10/18 19:32 2009/10/18 19:32
Trackback address :: http://4ellene.net/tt/trackback/1301

Comments List

Write a comment.

[로그인][오픈아이디란?]