获取本地机器ip

 1 #define    WIN32_LEAN_AND_MEAN
 2 #include <iostream>
 3 #include <fstream>
 4 #include <windows.h>
 5 #include <winsock2.h>
 6 #include <string>
 7 #include <Ws2tcpip.h>
 8 using namespace std;
 9 
10 #pragma comment(lib,"ws2_32.lib")
11 
12 int main()
13 {
14     WSADATA wsaData;
15     WSAStartup(MAKEWORD(2,2),&wsaData);
16     addrinfo *addr=NULL;
17     char szhostname[128];
18     char szLocalip[20];
19 
20     gethostname(szhostname,sizeof(szhostname));
21 
22     getaddrinfo(szhostname,NULL,NULL,&addr);
23     in_addr ipaddr=(((sockaddr_in*)(addr->ai_addr))->sin_addr);
24     strcpy(szLocalip,inet_ntoa(ipaddr));
25     cout<<szLocalip<<endl;
41     WSACleanup();
42     system("pause");
43     return 0;
44 }

在默认windows.h会包含winsock.h,当你包含winsock2.h就会冲突,因此在包含windows.h前需要定义一个宏,去除winsock.h

转载于:https://www.cnblogs.com/linuxc/archive/2012/08/28/2660030.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值