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

Linux中ip地址结构和ip地址的转换

时间:2018-12-02 22:30:26      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:alt   nbsp   tin   img   ret   Helm   0.0.0.0   结果   struct   

 ip地址结构

struct sockaddr_in 
{
    sa_family_t    sin_family; /* address family: AF_INET */
    in_port_t      sin_port;   /* port in network byte order */
    struct in_addr sin_addr;   /* internet address */
};

/* Internet address. */
struct in_addr 
{
    uint32_t       s_addr;     /* address in network byte order */
};

点分十进制ip转换:

#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <arpa/inet.h>

int 
main()
{
    const char *ip_str = "192.168.1.1";
    //const char *ip_str = "255.255.255.255";
    //const char *ip_str = "0.0.0.0";
    struct in_addr in;
    memset(&in, 0, sizeof(struct in_addr));
    in.s_addr = inet_addr(ip_str);    
    printf("ip addr is:%u\n", in.s_addr);
    printf("ip addr is:%s\n", inet_ntoa(in));
    memset(&in, 0, sizeof(struct in_addr));
    inet_aton(ip_str, &in);
    printf("ip addr is:%s\n", inet_ntoa(in));
    return 0;
}

结果:

shelmean:[~]$ ./a.out 
ip addr is:16885952
ip addr is:192.168.1.1
ip addr is:192.168.1.1

 

技术分享图片

 

Linux中ip地址结构和ip地址的转换

标签:alt   nbsp   tin   img   ret   Helm   0.0.0.0   结果   struct   

原文地址:https://www.cnblogs.com/shelmean/p/10054809.html

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