IP地址转换函数——inet_ntop(),inet_pton(),inet_addr(),inet_aton(),inet_ntoa()
2016-11-04 20:40
309 查看
点分十进制字符串(dotted-decimal notation)与二进制数值互转
注意:
(1) 二进制数值形式是网络字节序(network byte order),即大端,所以,如果所给地址是主机字节序(host byte order)(Intel CPU 是小端),则调用这 inet_ntop() 时,先转为网络字节序
(2) inet 指 IPv4 , n 指 network byte order
4000
const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); //二 转 十 int inet_pton(int af, const char *src, void *dst); //十 转 二
注意:
(1) 二进制数值形式是网络字节序(network byte order),即大端,所以,如果所给地址是主机字节序(host byte order)(Intel CPU 是小端),则调用这 inet_ntop() 时,先转为网络字节序
(2) inet 指 IPv4 , n 指 network byte order
#include <stdio.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main() { char ip[] = "192.168.0.101"; struct in_addr myaddr; /* inet_addr */ /* 将网络地址(点分十进制)转换成二进制,直接输出 */ printf("%X\n",inet_addr(ip)); /* inet_aton */ /* 将网络地址(点分十进制)转换成二进制,存入第二个参数所指结构中 */ int iret = inet_aton(ip,&myaddr); printf("%X\n",myaddr.s_addr); /* inet_ntoa */ /* 将二进制地址转换成网络地址(点分十进制)*/ printf("%s\n",inet_ntoa(myaddr)); /* inet_pton */ /* 将网络地址(点分十进制)转换成二进制,存入第三个参数所指的结构中 */ /* 第一个参数控制网络协议类型 IPV4 / IPV6*/ iret=inet_pton(AF_INET,ip,&myaddr); printf("%X\n",&myaddr.s_addr); /* inet_ntop */ /* 将二进制地址转换成网络地址(点分十进制),存入第二个参数所指的结构中 */ /* 第一个参数控制网络协议类型 IPV4 / IPV6*/ inet_ntop(AF_INET,&myaddr,ip,16); printf("%s\n",ip); return 0; }
4000
相关文章推荐
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- inet_ntop(), inet_pton() inet_ntoa(), inet_aton(), inet_addr, htons(), htonl(), ntohs(), ntohl() struct hostent ,struct sockaddr_in
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton & inet_ntop
- 地址转换函数inet_aton、 inet_ntoa、 inet_addr和inet_pton 、inet_ntop
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton
- 网络字节转换inet_aton & inet_ntoa & inet_addr和inet_pton
- VS inet_ntoa,inet_addr不能使用,inet_ntop,inet_pton
- IP处理函数inet_aton()和inet_ntoa(),inet_pton,inet_ntop
- inet_addr, inet_aton, inet_ntoa, inet_pton, inet_ntop函数简析
- inet_addr() inet_ntoa() inet_pton inet_ntop sockaddr_in