C++如何获取本机的IP地址

本文为大家分享了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");}

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

世界会向那些有目标和远见的人让路(冯两努——香港着名推销商

C++如何获取本机的IP地址

相关文章:

你感兴趣的文章:

标签云: