如何獲取本機計算機名和IP地址?
1
void CF_RockClientDlg::GetHostIP()
2

{
3
char Name[255];//定義用于存放獲得的主機名的變量
4
char *IP;//定義IP地址變量
5
CString strIP="";
6
PHOSTENT hostinfo;
7
if(gethostname (Name, sizeof(Name)) == 0)
8
{
9
//如果成功地將本地主機名存放入由name參數(shù)指定的緩沖區(qū)中
10
if((hostinfo = gethostbyname(Name)) != NULL)
11
{
12
//這是獲取主機名,如果獲得主機名成功的話,將返回一個指針,指向hostinfo,hostinfo
13
//為PHOSTENT型的變量,下面即將用到這個結(jié)構(gòu)體
14
IP = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
15
strIP.Format(IP);
16
}
17
}
18
}
void CF_RockClientDlg::GetHostIP()2


{3
char Name[255];//定義用于存放獲得的主機名的變量 4
char *IP;//定義IP地址變量 5
CString strIP="";6
PHOSTENT hostinfo;7
if(gethostname (Name, sizeof(Name)) == 0)8

{ 9
//如果成功地將本地主機名存放入由name參數(shù)指定的緩沖區(qū)中 10
if((hostinfo = gethostbyname(Name)) != NULL) 11

{ 12
//這是獲取主機名,如果獲得主機名成功的話,將返回一個指針,指向hostinfo,hostinfo 13
//為PHOSTENT型的變量,下面即將用到這個結(jié)構(gòu)體 14
IP = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);15
strIP.Format(IP);16
}17
}18
}以上代碼實現(xiàn)了獲取本機IP和計算機名的信息,使用了gethostname()和gethostbyname().
posted on 2007-11-15 11:43 isabc 閱讀(8362) 評論(4) 編輯 收藏 引用 所屬分類: VC Demo

