有两组地址转换函数,它们在ASCII字符串与网络字节序的二进制值(这是存放在套接字地址结构中的值)之间转换网际地址。
1、inet_aton、inet_addr和inet_ntoa函数
这三个函数在点分十进制数串(例如“206.168.112.96”)与它长度为32位的网络字节序二进制值间转换IPv4地址。
#include <arpa/inet.h>
int inet_aton(const char *strptr, struct in_addr *addrptr);
返回值:若字符串有效则为1,否则为0
in_addr_t inet_addr(const char *strptr);
返回值:若字符串有效则为32位二进制网络字节序的IPv4地址,否则为INADDR_NONE
char *inet_ntoa(struct in_addr inaddr);
返回值:指向一个点分十进制串的指针
第一个函数inet_aton将strptr所指C字符串转换成一个32位的网络字节序二进制值,并通过指针addrptr来存储。若成功则返回1ÿ