注意VC编译要添加:Ws2_32.lib文件
#include "STDAFX.H"
#include <winsock.h>
#include "iostream.h"
// 获取本机IP
void CheckIP(void)
{
WORD wVersionRequested; //用于存放Winsock版本的正解值
WSADATA wsaData;
char name[255]; //用于存放主机名的变量;
CString IP; //定义IP变量
PHOSTENT hostinfo;
wVersionRequested=MAKEWORD(2,0); //获Winsock版本
if ( ( WSAStartup(MAKEWORD(2,0),&wsaData)==0)) //加载WinScok,0为加载成功
{
if ( gethostname(name,sizeof(name)) ==0) //获主机名;
{
if ( (hostinfo=gethostbyname(name))!=NULL) //获主机名指针;
{
cout<<"主机名:"<<name<<endl;
int i=0;
while(hostinfo->h_addr_list[i]) //一台机子可能用多个IP;
{
LPCSTR ip=inet_ntoa(*(struct in_addr *)hostinfo->h_addr_list[i]);
cout<<"本机的ip地址是:"<<ip<<endl;
i++;
}
}
}
}
WSACleanup(); //去除Winscok,
}
#include "STDAFX.H"
#include <winsock.h>
#include "iostream.h"
// 获取本机IP
void CheckIP(void)
{
WORD wVersionRequested; //用于存放Winsock版本的正解值
WSADATA wsaData;
char name[255]; //用于存放主机名的变量;
CString IP; //定义IP变量
PHOSTENT hostinfo;
wVersionRequested=MAKEWORD(2,0); //获Winsock版本
if ( ( WSAStartup(MAKEWORD(2,0),&wsaData)==0)) //加载WinScok,0为加载成功
{
if ( gethostname(name,sizeof(name)) ==0) //获主机名;
{
if ( (hostinfo=gethostbyname(name))!=NULL) //获主机名指针;
{
cout<<"主机名:"<<name<<endl;
int i=0;
while(hostinfo->h_addr_list[i]) //一台机子可能用多个IP;
{
LPCSTR ip=inet_ntoa(*(struct in_addr *)hostinfo->h_addr_list[i]);
cout<<"本机的ip地址是:"<<ip<<endl;
i++;
}
}
}
}
WSACleanup(); //去除Winscok,
}