MFC之獲取本機IP位址

2021-07-28 12:46:58 字數 1040 閱讀 3347

vs2013

按鈕響應:

wsadata wsadata;

if (0 != wsastartup(makeword(2, 2), &wsadata)) //初始化

char szhostname[max_path + 1];

gethostname(szhostname, max_path); //得到計算機名

hostent *p = gethostbyname(szhostname); //從計算機名得到主機資訊

if (p == null)

cstring m_strname;

m_strname = szhostname; //儲存主機名

int ncount = 0; //儲存主機位址

char *pip = inet_ntoa(*(in_addr *)p->h_addr_list[0]);//將32位ip轉化為字串ip

cstring m_straddr;

m_straddr = pip; //儲存主機ip位址

updatedata(false); //顯示各個資料

wsacleanup(); //釋放winsock api

afxmessagebox(m_straddr);

char    hostname[100];

gethostname(hostname, sizeof(hostname));// 獲得本機主機名.

hostent* hn;

hn = gethostbyname(hostname);//根據本機主機名得到本機ip

cstring stripaddr = inet_ntoa(*(struct in_addr *)hn->h_addr_list[0]);//把ip換成字串形式

messagebox(stripaddr);

ps:斷網後檢測本地ip為127.0.0.1

獲取本機IP位址

cstring strlocalip char szhostname 64 memset szhostname,0x00,sizeof szhostname gethostname szhostname,sizeof szhostname phostent phost gethostbyname s...

獲取本機IP位址

第一步 載入winsock2靜態鏈結庫檔案。include pragma comment lib,ws2 32.lib bool loadwinsock 第二步 獲取本地的主機名稱。hostent phostent null char szhostname 256 memset szhostname...

獲取本機IP位址

獲取本機ip string hostname dns.gethostname iphostentry ipentry dns.gethostentry hostname 得到主機ip ipaddress addresslist ipentry.addresslist 得到本機所有的ip位址strin...