函数inet_addr和inet_ntoa inet_addr 将"数字+句点"的格式的IP地址转换到unsigned long中,返回值已经是按照网络字节顺序的 相反inet_ntoa把类型为struct in_addr的数据转化为"数字+句点"的形式的字符串 typedef u_int32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; 本机字节顺序与网络字节顺序...
intx=(192<<0)+(168<<8)+(1<<16)+(100<<24); printf("%d\n",x); structin_addr tt; tt.s_addr=x; printf("%s\n",inet_ntoa(tt)); return0; } 运行结果: 打印x表明了inet_addr将点分地址拼接的方式。 1 2 3 4 5 typedefuint32_t in_addr_t; structin_addr { in_addr_t s_add...
inet_addr函数转换网络主机地址(如192.168.1.10)为网络字节序二进制值,如果参数char *cp无效,函数返回-1(INADDR_NONE),这个函数在处理地址为255.255.255.255时也返回-1,255.255.255.255是一个有效的地址,不过inet_addr无法处理 in_addr_t inet_addr(const char *cp) 2、介绍inet_ntoa函数 inet_ntoa 函数转换网络...
//代替 foo.sin_addr.s_addr=inet_addr(ip);charstr[INET_ADDRSTRLEN];char*ptr=inet_ntop(AF_INET,&foo.sin_addr,str,sizeof(str)); //代替 ptr = inet_ntoa(foo.sin_addr)
综上所述,应该使用inet_aton和inet_ntoa这一对函数。 资料: #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> typedef uint32_t in_addr_t; intinet_aton(constchar*cp,structin_addr*inp); in_addr_t inet_addr(constchar*cp); ...
1、inet_aton、inet_addr和inet_ntoa在点分十进制数串(例如"206.62.226.33")与它的32位网络字节序二进制值间转换IPv4地址。 2、两个较新的函数:inet_pton和inet_ntop对IPv4和IPv6地址都能进行处理。 1 #include<arpa/inet.h> 2 3 /* 返回1:串有效,返回0:串出错 */ 4 int inet_aton(const char *st...
inet_addr和inet_ntoa函数作用 IP地址有两种不同的格式:十进制点分形式 和 32位二进制形式 将十进制点分形式转换为二进制形式: int inet_addr(const char * strptr); 返回值:成功:32位二进制IP地址 失败:-1 structsockaddr_inserveraddr;serveraddr.sin_addr.s_addr=inet_addr("192.178.1.100");...
src.sin_addr.s_addr = inet_addr("*.*.*.*"); //构建网络地址。 printf("%s\n",inet_ntoa(src.sin_addr)); //将网络地址转换成字符串。 注意:: inet_ntoa存在的问题是inet_ntoa的返回值是一个static类型的char *指针,所以会出现问题:: ...
inet_pton(AF_INET, ip, &foo.sin_addr); //代替 foo.sin_addr.s_addr=inet_addr(ip);charstr[INET_ADDRSTRLEN];char*ptr = inet_ntop(AF_INET,&foo.sin_addr, str,sizeof(str)); //代替 ptr = inet_ntoa(foo.sin_addr) 【网络编程】inet_addr、inet_ntoa、inet_aton、inet_ntop和inet_pton区...
inet_addr函数转换网络主机地址(如192.168.1.10)为网络字节序二进制值,如果参数char *cp无效,函数返回-1(INADDR_NONE),这个函数在处理地址为255.255.255.255时也返回-1,255.255.255.255是一个有效的地址,不过inet_addr无法处理; The inet_ntoa() function converts the Internet host address in given in ...