您的位置:首页 > 编程语言

window上获取本机IP地址方法--windows编程

2016-12-17 10:33 232 查看
使用获取本地地址的方法比较多,简单点的就是ipconfig命令就好了,本地网络之类的图形界面而本次是使用作为一个程序员的方式来获取本地的ip地址。

InitSock.h如下:

#include <WinSock2.h>
#pragma comment (lib,"WS2_32")

class CInitSock
{
public:
CInitSock(BYTE minorVer = 2, BYTE majorVer = 2)
{
//初始化WS2_32.dll
WSADATA wsaData;
WORD sockVersion = MAKEWORD(minorVer,majorVer);
if(::WSAStartup(sockVersion,&wsaData)!=0)
{
exit(0);
}
}
~CInitSock()
{
::WSACleanup();
}
};

winsock.cpp代码如下:
#include "InitSock.h"
#include <stdio.h>
CInitSock initSock;

void main()
{
char szHost[256];
::gethostname(szHost,256);

hostent *pHost = ::gethostbyname(szHost);

in_addr addr;
for(int i= 0;;i++)
{
char *p = pHost->h_addr_list[i];
if(p == NULL)
break;
memcpy(&addr.S_un.S_addr,p,pHost->h_length);
char *slzp = ::inet_ntoa(addr);
printf("本机IP地址: %s \n",slzp);
}
}运行的效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: