首页 > 代码库 > 将IPV4转换成整数

将IPV4转换成整数

一个ip地址字符串如“192.168.100.100”,怎么(4*3+3+1)*1=16个字节,如果将ip地址是32bit,可以使用4个字节实现ip地址的压缩。

 1 #include <stdio.h> 2 #include <stdlib.h> 3 //将IPV4转换成整数,例如192.168.0.0  32it 可以使用一个unsigned int表示 4 int change(char * str) 5 { 6     unsigned int a=0; 7     int n=0;//点的个数 8     int sum=0;//每个数值 9     int m[]={0x1000000,0x10000,0x100,1};10     while(*str!=\0)11     {12         if(*str !=.)13         {14             sum=sum*10+(*str-0);15         }16         else17         {18             a+=sum*m[n++];19             sum=0;20         }21         str++;22     }23     a+=sum;24     return a;25 }26 27 int main()28 {29     char*str="192.168.1.255";30     printf("%d\n",change(str));31     return 0;32 }

 

将IPV4转换成整数