c++怎样获取本机的IP地址

  介绍

小编给大家分享一下c++怎样获取本机的IP地址,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

具体内容如下:

头文件

# include  & lt; WinSock2.h>   # pragma 评论(自由,“ws2_32")//链接到ws2_32动态链接库      class  CInitSock   {   公众:   CInitSock才能(BYTE  minorVer =, 2, BYTE  majorVer =, 2)   {才能   ,,,WSADATA  wsaData;   ,,,WORD  VersionRequset;   ,,,VersionRequset =, MAKEWORD (minorVer majorVer);   ,,,//装载winsock库   ,,,if  (WSAStartup (VersionRequset,和wsaData) !=0)   ,,,{   ,,,,,//装载winsock库失败,推出   ,,,,,退出(0);   ,,,}   ,,}   ~才能CInitSock ()   {才能   ,,,WSACleanup ();   ,,}   };

源代码文件

# include  & lt; iostream>   # include “a.h"   using  namespace 性传播疾病;   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(),失败!“);   ,,,return 假;   ,,}//才能通过主机名获取到地址信息   HOSTENT 才能;* host =, gethostbyname (szText);   if 才能;(NULL==主机)   {才能   ,,,printf (“gethostbyname(),失败!“);   ,,,return 假;   ,,}   in_addr 才能;PcAddr;   for 才能;(int 我=0;;我+ +)   {才能   ,,,char  * p =,主机→h_addr_list[我];   ,,,if  (NULL==p)   ,,,{   ,,,,,休息;   ,,,}   ,,,memcpy (, (PcAddr.S_un.S_addr), p,主机→h_length);   ,,,char * szIP =,:: inet_ntoa (PcAddr);   ,,,printf(“本机的ip地址是:% s \ n", szIP);   ,,}      系统才能(“pause");   }

看完了这篇文章,相信你对“c++怎样获取本机的IP地址”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

c++怎样获取本机的IP地址