C++如何获取本机的IP地址
本文为大家分享了C++获取本机的ip地址程序,供大家参考,具体内容如下
头文件
#include#pragmacomment(lib,"ws2_32")//链接到ws2_32动态链接库 classCInitSock { public: CInitSock(BYTEminorVer=2,BYTEmajorVer=2) { WSADATAwsaData; WORDVersionRequset; VersionRequset=MAKEWORD(minorVer,majorVer); //装载winsock库 if(WSAStartup(VersionRequset,&wsaData)!=0) { //装载winsock库失败,推出 exit(0); } } ~CInitSock() { WSACleanup(); } };
源代码文件
#include#include"a.h" usingnamespacestd; CInitSockInitsock; boolGetIp(); intmain() { GetIp(); return0; } boolGetIp() { charszText[256]; //获取本机主机名称 intiRet; iRet=gethostname(szText,256); inta=WSAGetLastError(); if(iRet!=0) { printf("gethostname()Failed!"); returnFALSE; } //通过主机名获取到地址信息 HOSTENT*host=gethostbyname(szText); if(NULL==host) { printf("gethostbyname()Failed!"); returnfalse; } in_addrPcAddr; for(inti=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"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。