网页是什么,网站seo优化培训,信用网站建设内容,phpok企业建站系统一个小程序#xff0c;可以获取本地所有ip地址#xff0c;包括有线#xff0c;无线#xff0c;虚拟机#xff0c;环回接口网卡#xff0c;等。
如图#xff0c;一台机器多个网卡#xff1a; 程序执行结果#xff1a; #includestdio.h
#include可以获取本地所有ip地址包括有线无线虚拟机环回接口网卡等。
如图一台机器多个网卡 程序执行结果 #includestdio.h
#includestring.h
#includeWinsock2.h
#pragma comment(lib,WS2_32.lib)void main()
{ printf(********************************\n);printf(方法一精确输出\n);WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2),wsaData)SOCKET_ERROR){exit(0);}int nLen256;char hostname[20];gethostname(hostname,nLen); hostent *pHost gethostbyname(hostname);LPSTR lpAddr pHost-h_addr_list[0];struct in_addr inAddr;memmove(inAddr,lpAddr,4);printf(有 线 IP地址%s\n,inet_ntoa(inAddr));memmove(inAddr,lpAddr4,4);printf(无 线 IP地址%s\n,inet_ntoa(inAddr));memmove(inAddr,lpAddr8,4);printf(环 回 IP地址%s\n,inet_ntoa(inAddr));memmove(inAddr,lpAddr12,4);printf(虚拟机1 IP地址%s\n,inet_ntoa(inAddr));memmove(inAddr,lpAddr16,4);printf(虚拟机2 IP地址%s\n,inet_ntoa(inAddr));printf(********************************\n\n);printf(********************************\n);printf(方法二,打印所有Ip,验证第一次输出\n);char szHost[256] {0};hostent *lpHost gethostbyname(szHost);memset(szHost,0,sizeof(szHost));// 取得本地主机名称::gethostname(szHost, 256);// 通过主机名得到地址信息// 打印出所有IP地址in_addr addr;for(int i 0; ; i){char *p lpHost-h_addr_list[i];if(p NULL)break;memcpy(addr.S_un.S_addr, p, lpHost-h_length);char *szIp ::inet_ntoa(addr);//将32位的二进制数转化为字符串;printf(本机IP地址%s \n, szIp);}printf(********************************\n);::WSACleanup();
}