linux 獲取本機ip位址
說明:family = at_inet :ipv4
family = at_inet6:ipv6
address: 提取得到的ip位址所要儲存的位址
size =strlen(sampleip) 192.168.123.128
max_ipv4 =15
某些標頭檔案應在其他方面,在本程式中沒用得上。不過不影響程式的編譯。
program list:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int getip_v4_and_v6_linux(int family, char*address, int size)
if(getifaddrs(&ifap0))
for( ifap = ifap0; ifap !=null; ifap=ifap->ifa_next)
else break;
}else if(af_inet6 == ifap->ifa_addr->sa_family)
if(in6_is_addr_linklocal(&addr6->sin6_addr))
if(in6_is_addr_loopback(&addr6->sin6_addr))
if(in6_is_addr_unspecified(&addr6->sin6_addr))
if(in6_is_addr_sitelocal(&addr6->sin6_addr))
if ( null !=inet_ntop(ifap->ifa_addr->sa_family,
(void *)&(addr6->sin6_addr), buf, ni_maxhost) )
elsebreak; } }
} void * getipv4()
本程式非原創,也不清楚原創作者是何人。本人只是拿來修改,並應用在實際的工程專案中去。感謝原創作者和網路上的無私奉獻的linux工作者!讓我們共同發揚linux的精神!
enjoyit!
獲取本機IP位址
cstring strlocalip char szhostname 64 memset szhostname,0x00,sizeof szhostname gethostname szhostname,sizeof szhostname phostent phost gethostbyname s...
獲取本機IP位址
第一步 載入winsock2靜態鏈結庫檔案。include pragma comment lib,ws2 32.lib bool loadwinsock 第二步 獲取本地的主機名稱。hostent phostent null char szhostname 256 memset szhostname...
獲取本機IP位址
獲取本機ip string hostname dns.gethostname iphostentry ipentry dns.gethostentry hostname 得到主機ip ipaddress addresslist ipentry.addresslist 得到本機所有的ip位址strin...