十六进制转换为点分十进制串(ip地址形式)

include "csapp.h"

void main(int argc,char* argv[])
{
  char *hex=argv[1];
  if(argc<2||*hex!='0'||*(hex+1)!='x')
    printf("input error!you should input like this:%s 0x8002c2f2\n",argv[0]);
  int dd[4];
  int i;
  for(i=1;i<=4;i++) {
    char ch1 = *(hex+i*2);
    char ch2 = *(hex+i*2+1);
    int dd1 ;
    int dd2 ;
    dd1 = char2int(ch1,15);
    dd2 = char2int(ch2,16);
    dd[i-1] = dd1*16+dd2;
  }
  printf("点分十进制形式为:\t%d.%d.%d.%d\n",dd[0],dd[1],dd[2],dd[3]);
}


转载于:https://my.oschina.net/zzw922cn/blog/470832

你可能感兴趣的:(十六进制转换为点分十进制串(ip地址形式))