获取计算机ip地址和计算机名字

 

 

#include <WinSock2.h>
#pragma comment(lib, "WS2_32")

 

WSADATA    WSAData;
    int WSAReturn ;
    char name[20];
    struct hostent *pSysinfo;
    char ipAddr[20];
    WSAReturn = WSAStartup(MAKEWORD(2,2),&WSAData);
    if(WSAReturn == 0)
    {
        gethostname(name,20);  //获取本地主机名
        m_strHostName = name;
    //    UpdateData(FALSE);
        pSysinfo = gethostbyname(name);
        sprintf(ipAddr,"%d.%d.%d.%d",
            pSysinfo->h_addr_list[0][0] & 0x00ff,
            pSysinfo->h_addr_list[0][1] & 0x00ff,
            pSysinfo->h_addr_list[0][2] & 0x00ff,
            pSysinfo->h_addr_list[0][3] & 0x00ff);
        m_strIP = ipAddr;
        UpdateData(FALSE);
    }

使用gethostbyaddr函数可以送网络地址得到对应的“主机”,这里得到的主机可能是多个而不止一个
struct HOSTENT* FAR gethostbyaddr{
    const char* addr; //<输入>指向网络字节顺序地址的指针
    int len; //地址长度
    int type;//地址类型,应为AF_INET
};
 
  

 

 

转载于:https://www.cnblogs.com/jck34/archive/2012/10/08/2715231.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值