C++获取本机IP地址信息
2014-05-01 17:48
211 查看
1、简洁版:
#include<winsock2.h>#include<iostream>
#include<string>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
string getIP()
{
WSADATA WSAData;
char hostName[256];
if (!WSAStartup(MAKEWORD(2, 0),&WSAData))
{
if(!gethostname(hostName,sizeof(hostName)))
{
hostent *host=gethostbyname(hostName);
if(host!=NULL)
{
return inet_ntoa(*(struct in_addr*)*host->h_addr_list);
}
}
}
return "Get IP failed.";
}
int main()
{
cout<<"IP地址为:"<<getIP()<<endl;
system("pause");
return 0;
}
2、扩展板:
#include <winsock2.h>#include <iostream>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
void getIP()
{
WSADATA WSAData; //WSADATA结构被用来储存调用AfxSocketInit全局函数返回的Windows Sockets初始化信息。
if (WSAStartup(MAKEWORD(2, 0),&WSAData)) // 初始化Windows sockets API
{
printf("WSAStartup failed %s\n", WSAGetLastError());
exit(-1); //异常退出
}
char hostName[256];
if(gethostname(hostName,sizeof(hostName))) //获取主机名
{
printf("Error: %u\n", WSAGetLastError());
exit(-1);
}
hostent *host=gethostbyname(hostName); // 根据主机名获取主机信息(含IP)
if(host==NULL)
{
printf("Error: %u\n", WSAGetLastError());
exit(-1);
}
cout<<"正式的主机名: "<<host->h_name<<endl
<<"主机地址类型: "<<host->h_addrtype<<endl
<<"地址清单: "<<host->h_addr_list<<endl
<<"别名列表: "<<host->h_aliases<<endl
<<"地址长度: "<<host->h_length<<endl;
for(int i=0;host->h_addr_list[i]!=0;i++)
{
cout<<"该主机IP"<<i+1<<": "<<inet_ntoa(*(struct in_addr*)*host->h_addr_list)<<endl;
}
WSACleanup();
}
int main()
{
getIP();
system("pause");
return 0;
}
相关文章推荐
- VS2012 C++ 中通过GetAdaptersInfo获取多网卡,多IP地址信息
- 获取指定(访客)IP的所有信息,地址、邮政编码、国家、经纬度等的API
- C++获取本机IP等信息
- php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
- 计算机硬件通用功能类:硬件信息控制器(主机名,cpu编号,网卡地址,MAC地址,主硬盘编号,ip地址,获取最大线程数,验证服务IP)
- c/c++ 获取本机的IP和Mac地址
- C++ 硬件信息 获取网卡MAC地址
- 【C++】获得本机所有网卡的IP和MAC地址信息
- VC获取本机IP、子网掩码、网关、计算广播地址等信息
- 根据IP获取地址信息的方法(无数据库版)
- php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
- php获取浏览器信息。获取访客语言。获取访客操作系统。获取访客IP地址。获取访客地理位置。
- php获取浏览器信息。获取访客语言。获取访客操作系统。获取访客IP地址。获取访客地理位置。
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十节 获取本机已探测的IP – 物理地址映射表
- C++控制台程序获取本机IP地址
- C++获取本机IP地址
- C++获取当前机器内网IP地址
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十节 获取本机已探测的IP – 物理地址映射表
- java获取远端ip并根据ip得到详细地址信息