zoukankan      html  css  js  c++  java
  • Linux C 获取本机IP

    Linux获取本机IP
    #include <stdio.h>
    #include 
    <sys/ioctl.h>
    #include 
    <sys/socket.h>
    #include 
    <sys/types.h>
    #include 
    <netdb.h>
    #include 
    <net/if.h>
    #include 
    <arpa/inet.h>
    #define ERRORIP "cannot find host ip"
    char *ip_search(void)
    {
        
    int sfd, intr;
        
    struct ifreq buf[16];
        
    struct ifconf ifc;
        sfd 
    = socket (AF_INET, SOCK_DGRAM, 0); 
        
    if (sfd < 0)
            
    return ERRORIP;
        ifc.ifc_len 
    = sizeof(buf);
        ifc.ifc_buf 
    = (caddr_t)buf;
        
    if (ioctl(sfd, SIOCGIFCONF, (char *)&ifc))
            
    return ERRORIP;
        intr 
    = ifc.ifc_len / sizeof(struct ifreq);
        
    while (intr-- > 0 && ioctl(sfd, SIOCGIFADDR, (char *)&buf[intr]));
        close(sfd);
        
    return inet_ntoa(((struct sockaddr_in*)(&buf[intr].ifr_addr))-> sin_addr);
    }
    int main(void)
    {
        printf(
    "%s\n", ip_search());
        
    return 0;
    }

     转,完全不懂啊,( > c < ) !

  • 相关阅读:
    JS数组分页
    UI框架
    mongodb
    koa2 router中间件的三种写法
    Float浮点数转二进制串和十六进制串
    Iterator和for...of循环
    mysql相关故障
    lsof
    iostat测试磁盘性能
    dd测试磁盘
  • 原文地址:https://www.cnblogs.com/yangyh/p/1761164.html
Copyright © 2011-2022 走看看