利用uname() and gethostbyname()两个函数,也可以用ioctl(),不多说,直接上代码,采用的第一种方式:
int getHostIpAndName()
{
char hostname[200], **pptr;
char ipaddr[50];
struct utsname utname;
struct hostent *hptr;
uname(&utname);
strcpy(hostname,utname.nodename);
printf("hostname = %s\n",hostname);
if ((hptr = gethostbyname(hostname)) == NULL)
{
exit(-1);
}
pptr = hptr->h_addr_list;
while(*pptr != NULL) {
inet_ntop(AF_INET,*pptr,ipaddr,30);
printf("The IPv4 addr: %s\n", ipaddr);
pptr++;
}
}
阅读(1501) | 评论(0) | 转发(0) |