1. 程式人生 > >C++獲取本地計算機主機名和IP

C++獲取本地計算機主機名和IP

#include <iostream>
using namespace std;
#include "winsock2.h"
#pragma comment(lib,"ws2_32.lib")
void main()
{
//初始化:如果不初始化,以下程式碼將無法執行
WSAData data;
if(WSAStartup(MAKEWORD(1,1),&data)!=0)
{
   cout<<"初始化錯誤,無法獲取主機資訊..."<<endl ;
}
  
char host[255];
//獲取主機名:也可以使用GetComputerName()這個函式
if(gethostname(host,sizeof(host))==SOCKET_ERROR)
{
   cout<<"無法獲取主機名..."<<endl;
}
else
{
   cout<<"本機計算機名為:"<<host<<endl;
}

//獲取計算機IP:gethostbyname也需要初始化(上面已初始化)
struct hostent *p=gethostbyname(host);
if(p==0)
{
   cout<<"無法獲取計算機主機名及IP..."<<endl;
}
else
{
   //獲取本機計算機名
   //cout<<"本機計算機名為:"<<p->h_name<<endl;

   //本機IP:利用迴圈,輸出本機所有IP
   for(int i=0;p->h_addr_list[i]!=0;i++)
   {
    struct in_addr in;
    memcpy(&in,p->h_addr_list[i],sizeof(struct in_addr));
    cout<<"第"<<i+1<<"塊網絡卡的IP為:"<<inet_ntoa(in)<<endl;
   }

}

WSACleanup();

cin.get();
}

相關推薦

C++獲取本地計算機主機IP

#include <iostream> using namespace std; #include "winsock2.h" #pragma comment(lib,"ws2_32.lib") void main() { //初始化:如果不初始化,以下程式碼將

socket程式設計之---------獲取客戶端主機IP地址

TCP 伺服器端: package com.wodwl.example; import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.S

java獲取訪問者主機IP地址

String ip = request.getHeader("x-forwarded-for");  if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      ip = request.getHeader("

Java使用InetAddress類獲取主機IP地址

1.在Java中,地址可以由一個字串來定義,這個字串可以是數字型的地址(其中IPv4的地址型式為:192.168.72.1,其中IPv6的地址型式為:fe20:12a0::0abc:1234),也可以是主機名(如hh.gg.com)。主機名必須被解析成數字型地址才能用來進行

perl 獲取主機 IP

Automation中常常會用到主機名和 IP 地址。 笨方法是 $cmd="hostname"; $cmd_1="ipconfig", 再從輸出結果匹配想要的資訊。程式碼如下: my $cmd="hostname"; my $output=`$cmd`; print

python 使用socket 獲得主機IP

python 使用socket 獲得主機名和ipWindows 10 平臺代碼:socket hostname socket.gethostname() ( hostname) sysinfo socket.gethostbyname_ex(hostname) ip_addr sysinfo[] ip_add

單實例asm,修改主機ip地址後的重配置

file creat completed srs right session reat ati listen 修改主機名和ip地址之後的reconfigure asm 參考資料:How to Reconfigure Oracle Restart (文檔 ID 986740.

在window下設定hosts配置主機ip的對映

點選此路徑:C:\Windows\System32\drivers\etc 找到hosts,win10直接開啟hosts是不可以更改的,所以怎麼辦呢? 將hosts檔案複製到桌面(當然你可以複製到你想複製的地方),然後開啟hosts檔案,新增內容。 然後將寫好的hosts檔案Ctrl c

powershell修改主機IP

Function Rename-Computer( $NewName,$AutoRestart=$false ){ $computer=Get-WMIObject Win32_ComputerSystem $computer.Rename( $NewName ) | out-null if($AutoRest

Windows下主機IP映射設置

木馬 找到 window 寫上 spa 關系 drivers 那是 方式 如果需要添加域名和IP的對應關系可以在以下地方進行修改。 打開系統目錄:c:/windows/system32/drivers/etc找到hosts文件,打開hosts文件並在最後面添加一條記錄

C#獲取SQLServer資料庫表欄位

SQLServer資料庫每個資料庫都有INFORMATION_SCHEMA檢視,資料庫的結構資訊Schema都在這裡儲存。 select TABLE_NAME,TABLE_TYPE,TABLE_CAT

js獲取當前url主機埠號

獲取主機名 var hostname = location.hostname; 獲取埠號 var port = location.port; 獲取主機名+埠號 var host = locat

c# 獲取本地主機ip地址三種方法

第一種     取本主機ip地址        public string GetLocalIp()       &

用Python獲取本地主機IP地址的簡單方式

方法一: >>> import socket >>> # 獲取主機名 >>> hostname = socket.gethostname() >>> hostname 'USER-20150331GI' >>

C# 取得本地計算機ip本地計算機名稱的方法(內網)

  在此前要引入一個名稱空間:System.Net;   要取得計算機的資訊,會用到System.Net中的Dns類,Dns.GetHostName()可以取得計算機的名稱,而要取得IP,要先獲得計算

計算機基礎】主機IP,域名,端口,DNS服務器的通俗理解

net 例如 本地 房子 新的 數字 baidu 域名解析 什麽   在很早的時候,世界上只有幾臺計算機,這幾臺計算機的擁有者想互相連接起來以方便聊天約炮,怎麽辦呢?他們給各自的計算機起了一個名字,比如張三,李四,王二,以後他們就通過這個計算機名字來相互連接。這幾個名字可以

配置服務主機域名IP解析

配置服務主機名和域名ip解析 配置服務主機名和域名IP解析 1 linux 配置主機、域名-ipCentOS7下修改主機名第一種:hostname 主機名01.hostname 主機名稱 這種方式,只能修改臨時的主機名,當重啟機器後,主機名稱又變回來了。第二種:hostnamectl set-hostname

windows修改計算機ip

windows@echo off echo. echo. echo 自動修改計算機名和ip echo. set /p f=請輸計算機的IP後綴(值小於255): set name= test%f% set net=本地連接 3 set ip=192.168.10. set mask=255.255.255

Linux設定主機配置主機IP地址對映

(1)為當前使用者配置臨時管理員身份   命令: sudo vi/etc/sysconfig/network 然輸入hadoop的密碼 被警告hadoop不在sudoers這個檔案中,解決辦法就是切換到root許可權,修改這個檔案,把hadoop加入到檔案中去 然後找

linux host檔案,主機或者伺服器ip地址之間的對映

Linux作業系統下/etc/hosts檔案配置方法(轉自http://os.51cto.com/art/200803/68170.htm) 2008-03-28 Linux 的/etc/hosts是配置ip地址和其對應主機名的檔案,這裡可以記錄本機的或其他主機的i