下面这个函数可获取本机IP地址,先做个记录以备他用
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
bool GetMachineIP(string& sIP)
{
char host_str[100];
memset( host_str,0,100 );
int ret;
ret = gethostname(host_str,100);
if( ret ) return false;
struct hostent* hp;
hp = (hostent *)gethostbyname(host_str);
if( hp == NULL ) return false;
memset(host_str,0,100);
if ((unsigned long *)(hp->h_addr_list[0]))
{
unsigned long ipaddr = *(unsigned long *)(hp->h_addr_list[0]);
strcpy(host_str,inet_ntoa(*(in_addr*)&ipaddr));
sIP.assign(host_str);
}
return true;
}