#include <stdio.h>
#include <string.h>
#include <arpa/inet.h>
int main(int argc,char ** argv)
{
char dst[100] = {0};
struct sockaddr_in serv;
memset(&serv,0,sizeof(struct sockaddr_in));
//serv.sin_addr.s_addr <==> addr.s_addr
if((inet_pton(AF_INET,"10.110.1.254",&serv.sin_addr.s_addr))==0)
printf("inet_pton serv.sin_addr.s_addr=%u\n",serv.sin_addr.s_addr);
else
printf("inet_pton serv.sin_addr.s_addr=%u\n",serv.sin_addr.s_addr);
if((inet_ntop(AF_INET,&serv.sin_addr.s_addr,dst,sizeof(dst)))==NULL)
printf("inet_ntop\n");
else
printf("inet_ntop: dst=%s,sizeof(dst)=%lu\n",dst,sizeof(dst));
printf("---------------------------------------------------------\n");
struct in_addr addr;
memset(&addr,0,sizeof(struct in_addr));
if((inet_pton(AF_INET,"10.110.1.254",&addr.s_addr))==0)
printf("inet_pton addr.s_addr=%u\n",addr.s_addr);
else
printf("inet_pton addr.s_addr=%u\n",addr.s_addr);
if((inet_ntop(AF_INET,&addr.s_addr,dst,sizeof(dst)))==NULL) // replace inet_ntoa(addr)
printf("inet_ntop\n");
else
printf("inet_ntop: dst=%s,sizeof(dst)=%lu\n",dst,sizeof(dst));
return 0;
}
Linux下网络地址转换函数inet_pton和inet_ntop使用举例
最新推荐文章于 2024-01-31 19:40:11 发布