码迷,mamicode.com
首页 > 其他好文 > 详细

将IPV4转换成整数

时间:2014-09-16 21:50:01      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   ar   div   sp   log   

一个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         else
17         {
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转换成整数

标签:style   blog   color   io   使用   ar   div   sp   log   

原文地址:http://www.cnblogs.com/forsta/p/3975781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!