歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu上獲取主機ip

Ubuntu上獲取主機ip

日期:2017/2/28 16:01:39   编辑:Linux教程

Ubuntu上獲取主機ip:

#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#include <linux/limits.h>
#include <arpa/inet.h>
main()
{
struct hostent *h;
char **p;
char hostname[PATH_MAX];
gethostname(hostname,PATH_MAX);
printf("hostname = %s \n",hostname);
h = gethostbyname(hostname);
printf("hostname = %s \n",h->h_name);
printf("hostalias = %s \n",*(h->h_aliases));
//printf("hostalias2 = %s \n",*(++(h->h_aliases)));
//printf("hostalias3 = %s \n",*((h->h_aliases)+2));

printf("h_length = %d \n",h->h_length);

//格式化IP地址

printf("hostip = %s \n",inet_ntoa(*((struct in_addr *)(h->h_addr_list[0]))));

}

在ubuntu上使用PATH_MAX需要引入#include <linux/limits.h>

使用inet_ntoa需要引入#include <arpa/inet.h>

這和其他版本的linux可能有所區別!

Copyright © Linux教程網 All Rights Reserved