码迷,mamicode.com
首页 > 系统相关 > 详细

linux c获取IP地址

时间:2015-07-14 18:00:35      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <string.h>
#include <arpa/inet.h>

int main(int argc, char **argv)
{
    int sockfd;
    struct ifreq ifr;

    char *ifname="eth0";
    strncpy(ifr.ifr_name, ifname, IFNAMSIZ-1);

    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if(ioctl(sockfd, SIOCGIFADDR, &ifr) == -1)
    {
        printf("Error\n");
        return;
    }

    struct sockaddr_in *myaddr;
    myaddr = (struct sockaddr_in*)&(ifr.ifr_addr);
    printf("IP: %s\n", inet_ntoa(myaddr->sin_addr));
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux c获取IP地址

标签:

原文地址:http://blog.csdn.net/u011641885/article/details/46880177

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!