程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++獲取計算機主機信息(計算機名稱、IP)

C++獲取計算機主機信息(計算機名稱、IP)

編輯:C++入門知識

[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;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved