首页 > 代码库 > 将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转换成整数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。