linux inet_aton inet_ntoa

来源:互联网 发布:ehr人力资源软件 编辑:程序博客网 时间:2024/05/22 13:55

点分十进制格式的IP地址和32bit的IP地址

        我们常见的IP地址都是以点分十进制格式表示,例如“172.18.1.231”。而在程序中基本是以如下的结构表示一个IP:

struct in_addr {

         __be32     s_addr; //其实就是一个32bit的数字

};

       它和点分十进制格式的IP地址可以通过一组API实现相互转换:

int inet_aton(const char *cp,struct in_addr *inp) 无效的地址cp则返回0;否则返回非0

char *inet_ntoa(struct in_addr in) 将一个32位的IP地址转换成点分十进制字符串。

       这两个函数所要求的struct in_addr{}参数均为网络字节序。