如何獲取本機計算機名和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參數指定的緩沖區中
10
if((hostinfo = gethostbyname(Name)) != NULL)
11
{
12
//這是獲取主機名,如果獲得主機名成功的話,將返回一個指針,指向hostinfo,hostinfo
13
//為PHOSTENT型的變量,下面即將用到這個結構體
14
IP = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
15
strIP.Format(IP);
16
}
17
}
18
}

2



3

4

5

6

7

8



9

10

11



12

13

14

15

16

17

18

以上代碼實現了獲取本機IP和計算機名的信息,使用了gethostname()和gethostbyname().
posted on 2007-11-15 11:43 isabc 閱讀(8337) 評論(4) 編輯 收藏 引用 所屬分類: VC Demo