获取本机IP地址

来源:互联网 发布:网络舆情应对应急预案 编辑:程序博客网 时间:2024/04/28 11:05

下面这个函数可获取本机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;
}

原创粉丝点击