C语言 char转long int

该问题是在工作中 需要把 一逻辑编号转到物理IMEI编号  一个起始的IMIE 也就是 char buf[]; 逻辑编号 是short型  但是 要根据逻辑编号自动生成相应的物理编号。

数组中的 是以BCD码形式存储的 需要 从BCD码转到字符串。   转换完成后翻转数组  然后进行 内存拷贝 然后进行运算 然后在拷贝 翻转 

 int main(void)
{
int i;
unsigned  long int dimei,fpd;
unsigned char im[8];
unsigned char im1[100];
im[0]=0x81;
im[1]=0x10;
im[2]=0x01;
im[3]=0x01;
im[4]=0x01;
im[5]=0x01;
im[6]=0x01;
im[7]=0x42;
memset((void*)im1,0,100);

num_BCD_to_char((const char *)im,8,(const char *)im1);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
Reverse_buf(im1,16);
memcpy((void*)&fpd,im1,8);
printf("%llu\n",fpd);
fpd+=1;
memcpy(im1,&fpd,8);
Reverse_buf(im1,16);
printf("%s\t stringlen=%d\n",im1,strlen(im1));
return 0;
}

你可能感兴趣的:(C语言 char转long int)