zoukankan      html  css  js  c++  java
  • c socket inet_pton inet_ntop

    1
      #include <arpa/inet.h>

    /*

    表达式格式(presentation):形如192.168.0.1,ipv6 X:X:X:X:X:X:X:X
    数值格式(numeric):存储地址的二进制形式。
    */


    /*
    原型:int inet_pton( int family, const char *strptr, void *addrptr );
    功能:将字符串strptr(即表达格式的地址)转换为网络地址。
    参数:family既可以是AF_INET,也可以是AF_INET6;
          strptr指向ASCII地址的首地址(***.***.***.***格式),addrptr是套接字地址结构;
    返回值: 如果成功返回1;
            如果函数出错将返回一个负值,并将errno设置为EAFNOSUPPORT;
            如果参数af指定的地址族和src格式不对,函数将返回0。
    */

    /*
    原型:const char *inet_ntop(int family, const void *addrptr, char *strptr, socklen_t len );
    功能:将数值格式转换为表达式格式。
    参数:family既可以是AF_INET,也可以是AF_INET6;
          strptr指向ASCII地址的首地址(***.***.***.***格式),addrptr是套接字地址结构;
          len目标存储单元大小,避免溢出调用者的缓冲区。
    返回值: net_ntop函数成功的话返回字符串的首地址,错误返回NULL;
    */


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
      #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    int main (void)
    {
        char IPdotdec[20]; //存放点分十进制IP地址
        struct in_addr s; // IPv4地址结构体
        // 输入IP地址
        printf("Please input IP address: ");
        scanf("%s", IPdotdec);
        // 转换
        inet_pton(AF_INET, IPdotdec, (void *)&s);
        printf("inet_pton: 0x%x\n", s.s_addr); // 注意得到的字节序
        // 反转换
        inet_ntop(AF_INET, (void *)&s, IPdotdec, 16);
        printf("inet_ntop: %s\n", IPdotdec);
    }

    /*
    控制台:

    Please input IP address: 192.168.0.1
    inet_pton: 0x100a8c0
    inet_ntop: 192.168.0.1
    */

  • 相关阅读:
    Layui的一些心得
    Oracle工具PLSQL
    .NET开发中 springMVC+NHibernate注入失败的几个常见错误
    配置好运行后Error creating context 'spring.root': Could not load type from string value
    css样式添加错误导致烦扰
    Oracle时间与系统不同步,TimeStampService
    前端入门10-JavaScript语法之对象
    前端入门9-JavaScript语法之运算符
    前端入门8-JavaScript语法之数据类型和变量
    前端入门7-JavaScript语法之相关术语
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2682429.html
Copyright © 2011-2022 走看看