Windows获取本机机器名和ip地址及ip地址的字符串形式

CString CIOCPModel::GetLocalIP()
{
    // 获得本机主机名
    char hostname[MAX_PATH] = {0};
    gethostname(hostname,MAX_PATH);                
    struct hostent FAR* lpHostEnt = gethostbyname(hostname);
    if(lpHostEnt == NULL)
    {
        return DEFAULT_IP;
    }

    // 取得IP地址列表中的第一个为返回的IP(因为一台主机可能会绑定多个IP)
    LPSTR lpAddr = lpHostEnt->h_addr_list[0];      

    // 将IP地址转化成字符串形式
    struct in_addr inAddr;
    memmove(&inAddr,lpAddr,4);
    m_strIP = CString( inet_ntoa(inAddr) );        

    return m_strIP;
}

你可能感兴趣的:(获取ip地址-获取主)