如何查询当前电脑的具体IP地址信息?

2026-05-20 20:441阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计353个文字,预计阅读时间需要2分钟。

如何查询当前电脑的具体IP地址信息?

cpp#include #include #include #include

void printMachineIP() { std::string ip; struct ifaddrs *ifaddr, *ifa; int family, s; char host[NI_MAXHOST];

if ((s=getaddrinfo(NULL, NULL, &hints, &ifaddr)) !=0) { std::cerr << getaddrinfo: <

for (ifa=ifaddr; ifa !=NULL; ifa=ifa->ifa_next) { if (ifa->ifa_addr==NULL) continue;

family=ifa->ifa_addr->sa_family;

if (family==AF_INET) { struct sockaddr_in *ipv4=(struct sockaddr_in *)ifa->ifa_addr; if (inet_ntop(AF_INET, &ipv4->sin_addr, host, NI_MAXHOST) !=NULL) { ip=host; } } }

std::cout << Machine IP: <

如何查询当前电脑的具体IP地址信息?

freeaddrinfo(ifaddr);}

本文为大家分享了C++获取本机的ip地址程序,供大家参考,具体内容如下

头文件

#include <WinSock2.h> #pragma comment(lib,"ws2_32")//链接到ws2_32动态链接库 class CInitSock { public: CInitSock(BYTE minorVer = 2,BYTE majorVer = 2) { WSADATA wsaData; WORD VersionRequset; VersionRequset = MAKEWORD(minorVer,majorVer); //装载winsock库 if (WSAStartup(VersionRequset,&wsaData)!=0) { //装载winsock库失败,推出 exit(0); } } ~CInitSock() { WSACleanup(); } };

源代码文件

#include <iostream> #include "a.h" using namespace std; CInitSock Initsock; bool GetIp(); int main() { GetIp(); return 0; } bool GetIp() { char szText[256]; //获取本机主机名称 int iRet; iRet = gethostname(szText,256); int a = WSAGetLastError(); if (iRet!=0) { printf("gethostname() Failed!"); return FALSE; } //通过主机名获取到地址信息 HOSTENT *host = gethostbyname(szText); if (NULL==host) { printf("gethostbyname() Failed!"); return false; } in_addr PcAddr; for (int i=0;;i++) { char *p = host->h_addr_list[i]; if (NULL==p) { break; } memcpy(&(PcAddr.S_un.S_addr),p,host->h_length); char*szIP = ::inet_ntoa(PcAddr); printf("本机的ip地址是:%s\n",szIP); } system("pause"); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计353个文字,预计阅读时间需要2分钟。

如何查询当前电脑的具体IP地址信息?

cpp#include #include #include #include

void printMachineIP() { std::string ip; struct ifaddrs *ifaddr, *ifa; int family, s; char host[NI_MAXHOST];

if ((s=getaddrinfo(NULL, NULL, &hints, &ifaddr)) !=0) { std::cerr << getaddrinfo: <

for (ifa=ifaddr; ifa !=NULL; ifa=ifa->ifa_next) { if (ifa->ifa_addr==NULL) continue;

family=ifa->ifa_addr->sa_family;

if (family==AF_INET) { struct sockaddr_in *ipv4=(struct sockaddr_in *)ifa->ifa_addr; if (inet_ntop(AF_INET, &ipv4->sin_addr, host, NI_MAXHOST) !=NULL) { ip=host; } } }

std::cout << Machine IP: <

如何查询当前电脑的具体IP地址信息?

freeaddrinfo(ifaddr);}

本文为大家分享了C++获取本机的ip地址程序,供大家参考,具体内容如下

头文件

#include <WinSock2.h> #pragma comment(lib,"ws2_32")//链接到ws2_32动态链接库 class CInitSock { public: CInitSock(BYTE minorVer = 2,BYTE majorVer = 2) { WSADATA wsaData; WORD VersionRequset; VersionRequset = MAKEWORD(minorVer,majorVer); //装载winsock库 if (WSAStartup(VersionRequset,&wsaData)!=0) { //装载winsock库失败,推出 exit(0); } } ~CInitSock() { WSACleanup(); } };

源代码文件

#include <iostream> #include "a.h" using namespace std; CInitSock Initsock; bool GetIp(); int main() { GetIp(); return 0; } bool GetIp() { char szText[256]; //获取本机主机名称 int iRet; iRet = gethostname(szText,256); int a = WSAGetLastError(); if (iRet!=0) { printf("gethostname() Failed!"); return FALSE; } //通过主机名获取到地址信息 HOSTENT *host = gethostbyname(szText); if (NULL==host) { printf("gethostbyname() Failed!"); return false; } in_addr PcAddr; for (int i=0;;i++) { char *p = host->h_addr_list[i]; if (NULL==p) { break; } memcpy(&(PcAddr.S_un.S_addr),p,host->h_length); char*szIP = ::inet_ntoa(PcAddr); printf("本机的ip地址是:%s\n",szIP); } system("pause"); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。