ip字符串转换成网络字节续的int型 inet_aton 源代码

原创 2006年06月13日 13:58:00

int
inet_aton(const char *cp, struct in_addr *ap)
{
    int dots = 0;
    register u_long acc = 0, addr = 0;

    do {
 register char cc = *cp;

 switch (cc) {
 case '0':
 case '1':
 case '2':
 case '3':
 case '4':
 case '5':
 case '6':
 case '7':
 case '8':
 case '9':
     acc = acc * 10 + (cc - '0');
     break;

 case '.':
     if (++dots > 3) {
  return 0;
     }
     // Fall through

 case '/0':
     if (acc > 255) {
  return 0;
     }
     addr = addr << 8 | acc;
     acc = 0;
     break;

 default:
     return 0;
 }
    } while (*cp++) ;

    // Normalize the address
    if (dots < 3) {
 addr <<= 8 * (3 - dots) ;
    }

    //Store it if requested
    if (ap) {
 ap->s_addr = htonl(addr);
    }

    return 1;   
}

相关文章推荐

tcp/ip中的 ip字符串转整数函数 inet_aton 源代码

// ip地址结构体 struct in_addr { unsigned int s_addr; // network byte order( big-endian) }; // inet_ato...

网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop

转载请注明来源:http://hi.baidu.com/phpsinet_aton,inet_addr和inet_ntoa在点分十进制数串(如,“192.168.1.10")与他的32位网络字节二进制...

linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换

用域名获取IP地址或者用IP获取域名 #include #include #include int main(int argc,char **aggv) { struct hosten...
  • scdxmoe
  • scdxmoe
  • 2014年05月13日 19:42
  • 1464

将char字符转换成int整型,字符串与整型之间的相互转换

int 与字符之间的转换 int与字符串之间的转换

求java编程 字节byte怎么转换成整形int?

1.byte的大小为8bits而int的大小为32bits 2.java的二进制采用的是补码形式 在这里先温习下计算机基础理论 byte是一个字节保存的,有8个位,即8个0、1。 8位的第...

网络字节转换函数--IP地址转换--字符->int_32

inet_aton,inet_addr,inet_ntoa在点分十进制数串(如,“192.168.1.10")与他的32位网络字节二进制值之前转换IPV4地址,有2个比较新的函数inet_pton和i...

关于atoi字符串转换成int整数的一些问题

http://blog.csdn.net/silvergingko/article/details/6070138 在编程中,经常需要将一个字符串中包含的数字转换成整数进行处理。标准C函数a...

C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset

atoi()函数 #include #include int main () { int i; char buffer[256]; printf ("Enter a n...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ip字符串转换成网络字节续的int型 inet_aton 源代码
举报原因:
原因补充:

(最多只允许输入30个字)