网络地址处理函数用法inet_aton inet_ntoa inet_addr inet_network

参考:http://baike.so.com/doc/6950872-7173273.html


int inet_aton(const char *string, struct in_addr*addr);
功能:将一个字符串IP地址转换为一个32位的网络序列IP地址。
头文件:<arpa/inet.h>
参数描述:
1 输入参数string包含ASCII表示的IP地址
2 输出参数addr是将要用新的IP地址更新的结构。
返回值:
如果这个函数成功,函数的返回值非零,如果输入地址不正确则会返回零。使用这个函数并没有错误码存放在errno中,所以它的值会被忽略。


struct sockaddr_in adr_inet; /* AF_INET */
if( !inet_aton("127.0.0.1", &adr_inet.sin_addr))    
    bail("bad address");


将网络地址转换为IP地址字符串
char *inet_ntoa (struct in_addr *);
注意:inet_ntoa()返回的字符串是在一个静态分配的缓冲区里面,下一次调用此函数的时候缓冲区会被重写。



参考:http://baike.so.com/doc/5456532-5694920.html
原型:in_addr_t inet_addr(const char *cp);
参数:字符串,一个点分十进制的IP地址
返回值:如果正确执行将返回一个无符号长整数型数。如果传入的字符串不是一个合法的IP地址,将返回INADDR_NONE。
头文件:arpa/inet.h
注意:该返回对255.255.255.255地址认为是非法的,返回INADDR_NONE



in_addr_t inet_network(const char *cp);
参数:字符串,一个点分十进制的IP地址
返回值:如果正确执行将返回一个无符号长整数型数。如果传入的字符串不是一个合法的IP地址,将返回INADDR_NONE。
注意:该返回对255.255.255.255地址认为是非法的,返回INADDR_NONE


对比:inet_addr返回的整数形式是网络字节序,而inet_network返回的整数形式是主机字节序







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值