win32获取本地ip

来源:互联网 发布:淘宝在台湾 编辑:程序博客网 时间:2024/06/07 09:21
bool TestClass::GetLocalIP(char* ip)
{
//1.初始化wsa  
WSADATA wsaData;
int ret = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (ret != 0)
{
return false;
}
//2.获取主机名  
char hostname[256];
ret = gethostname(hostname, sizeof(hostname));
if (ret == SOCKET_ERROR)
{
return false;
}
//3.获取主机ip  
HOSTENT* host = gethostbyname(hostname);
if (host == NULL)
{
return false;
}
//4.转化为char*并拷贝返回  
strcpy(ip, inet_ntoa(*(in_addr*)*host->h_addr_list));
return true;
}