void GetIP()
{
char host_name[MAX_PATH] = {0};
int ret = gethostname(host_name, sizeof(host_name));
if(ret != 0)
{
return;
}
hostent *host = NULL;
host = gethostbyname(host_name);
if(NULL == host)
{
return;
}
BYTE *b = reinterpret_cast<BYTE*>(host->h_addr_list[0]);
char ip[16] = {0};
sprintf_s(ip, "%d.%d.%d.%d", b[0], b[1], b[2], b[3]);
int nSize = MultiByteToWideChar(CP_ACP, 0, ip, sizeof(ip), NULL, 0);
wchar_t *wcs_ip = new wchar_t[nSize];
memset(wcs_ip, 0, nSize);
MultiByteToWideChar(CP_ACP, 0, ip, sizeof(ip), wcs_ip, nSize);
delete [] wcs_ip;
}得到本地IP
最新推荐文章于 2024-10-18 23:15:06 发布
本文介绍了一个使用C++实现的函数,用于获取本地主机的IP地址。通过调用gethostname和gethostbyname函数,该函数能够解析主机名并返回其IP地址。进一步地,将获取到的IP地址转换为宽字符字符串,以便于在不同编码环境下使用。

9927

被折叠的 条评论
为什么被折叠?



