当前位置:编程学习 > C/C++ >>

C++获取计算机主机信息(计算机名称、IP)

[cpp]
#include <iostream>  
#include <string>  
#include <vector>  
#include <atlstr.h>  
#include "winsock2.h"  
#pragma comment(lib,"ws2_32.lib")  
using namespace std; 
int main(int argc, char* argv[]) 

    CString m_IP;//IP地址临时变量  
    CString m_LocalIP; 
    //获得本地计算机名  
    char PCnameBuffer[128]; 
    CString m_PCname; 
    //初始化:如果不初始化,以下代码将无法执行  
    WSAData data; 
    if(WSAStartup(MAKEWORD(1,1),&data)!=0) 
    { 
        cout<<"初始化错误,无法获取主机信息..."<<endl ; 
    } 
    else 
        if(0==gethostname(PCnameBuffer,128)) 
        { 
            m_PCname=PCnameBuffer; 
            //获得本地IP地址  
            struct hostent* pHost; 
            int i; 
            pHost=gethostbyname(PCnameBuffer);//pHost返回的是指向主机的列表  
            for (i=0;pHost!=NULL&&pHost->h_addr_list[i]!=NULL;i++) 
            { 
                LPCSTR psz = inet_ntoa(*(struct in_addr *)pHost->h_addr_list[i]);//得到指向ip的psz变量  
                m_IP += psz;    
            } 
            m_LocalIP=m_IP; 
        } 
        else 
        { 
            cout<<"获取主机信息失败..."<<endl ; 
        } 
    return 0; 

#include <iostream>
#include <string>
#include <vector>
#include <atlstr.h>
#include "winsock2.h"
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main(int argc, char* argv[])
{
 CString m_IP;//IP地址临时变量
 CString m_LocalIP;
 //获得本地计算机名
 char PCnameBuffer[128];
 CString m_PCname;
 //初始化:如果不初始化,以下代码将无法执行
 WSAData data;
 if(WSAStartup(MAKEWORD(1,1),&data)!=0)
 {
  cout<<"初始化错误,无法获取主机信息..."<<endl ;
 }
 else
  if(0==gethostname(PCnameBuffer,128))
  {
   m_PCname=PCnameBuffer;
   //获得本地IP地址
   struct hostent* pHost;
   int i;
   pHost=gethostbyname(PCnameBuffer);//pHost返回的是指向主机的列表
   for (i=0;pHost!=NULL&&pHost->h_addr_list[i]!=NULL;i++)
   {
    LPCSTR psz = inet_ntoa(*(struct in_addr *)pHost->h_addr_list[i]);//得到指向ip的psz变量
    m_IP += psz;  
   }
   m_LocalIP=m_IP;
  }
  else
  {
   cout<<"获取主机信息失败..."<<endl ;
  }
 return 0;
}

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,