Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120253
  • 博文数量: 43
  • 博客积分: 2511
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-25 12:28
文章分类

全部博文(43)

文章存档

2010年(15)

2009年(28)

我的朋友

分类: LINUX

2009-09-08 11:48:21

uint32_t htonl(unin32_t host32bitvalue);
参数是32bit的二进制数值,在转换地址时就是32位的主机字节序ip地址(经常用点分十进制)
用法:servaddr.sin_addr.s_addr=htonl(127.0.0.1);
     servaddr.sin_addr.s_addr=htonl(INADDR_ANY); // INADDR_ANY真实值为0.0.0.0

int inet_pton(int family,const char *strptr,void *addrptr);
该函数完成两个功能:1.字符串->二进制数值  2.主机字节序->网络字节序(所以调用此函数后不需htonl了)
第二个参数是ip地址字符串的指针

用法:inet_pton(AF_INET,argv[1],&servaddr.sin_addr);
     第三个参数使用&servaddr.sin_addr.s_addr也可以通过

总结:数值型的ip地址转换用htonl,字符串类型的用inet_pton
阅读(2132) | 评论(0) | 转发(0) |
0

上一篇:Man的使用

下一篇:CC与GCC的区别概括介绍

给主人留下些什么吧!~~