写在前面:

inet_aton、inet_ntoa、inet_pton和inet_ntop都是用于IP地址与大端网络字节序二进制数字相互转换的函数

不同的是inet_aton和inet_ntoa只支持ipv4类型的地址转换,而inet_pton和inet_ntop支持ipv4和ipv6类型的地址转换

一)inet_aton

头文件和函数原型:

#include<sys/scoket.h>
#include<netinet/in.h>
#include<arpa/inet.h>int inet_aton(const char * cp,struct in_addr *inp);

说明
inet_aton()用来将参数cp所指的ipv4点分十进制网络地址字符串转换成网络使用的大端字节序二进制数字,然后存于参数inp所指的in_addr结构中。成功则返回非0值,失败则返回0。

//结构in_addr定义如下
struct in_addr
{unsigned long int s_addr;
};

二)inet_ntoa

头文件和函数原型:

#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>char * inet_ntoa(struct in_addr in);

说明
inet_ntoa()用来将参数in所指的大端网络字节序二进制的数字转换成ipv4点分十进制字符串网络地址,然后将指向此网络地址字符串的指针返回。成功则返回字符串指针,失败则返回NULL。

三)inet_pton

头文件和函数原型:

#include <sys/socket.h>
#include <netinet/in.h>
#include<arpa/inet.h>int inet_pton(int af, const char *src, void *dst);

说明:
inet_pton()用来将ipv4或者ipv6类型的字符串转换为大端网络字节序二进制数字,第一个参数af是地址簇,取值为AF_INET(表示ipv4使用的地址簇)和AF_INET6(表示ipv6使用的地址簇),第二个参数src是来源地址,第三个参数 dst接收转换后的数据。

四)inet_ntop

头文件和函数原型:

#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);

说明:
inet_ntop()将大端网络字节序二进制数转换为ipv4或者ipv6类型的字符串,参数的作用和inet_pton相同,只是多了一个参数socklen_t cnt,他是所指向缓存区dst的大小,避免溢出,如果缓存区太小无法存储地址的值,则返回一个空指针,并将errno置为ENOSPC。

inet_aton、inet_ntoa、inet_pton和inet_ntop相关推荐

  1. IP地址转换函数 inet_pton、inet_ntop与 inet_aton、inet_addr、 inet_ntoa

    inet_pton NAME     inet_pton - 将 IPv4 和 IPv6 地址从点分十进制转换为二进制 SYNOPSIS #include <arpa/inet.h>int ...

  2. java inet aton_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop

    在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换. 1. ...

  3. inet aton在java_地址转换函数:inet_aton inet_ntoa inet_addr和inet_pton inet_ntop

    在Unix网络编程中,我们常用到地址转换函数,它将ASCII字符串(如"206.62.226.33")与网络字节序的二进制值(这个值保存在套接口地址结构中)间进行地址的转换. 1. ...

  4. inet_aton、inet_addr、inet_ntoa、inet_pton、inet_ntop

    inet_aton.inet_addr.inet_ntoa这3个函数是在点分十进制数串(例如"192.168.1.1")与它长度为32位的网络字节序二进制值间转换IPV4地址. 两 ...

  5. htons/ntohs、inet_aton/inet_ntoa、inet_pton/inet_ntop函数详解

    在介绍htons等函数之前,必须先介绍网络字节序与主机字节序 网络字节序和主机字节序 网络字节顺序NBO(Network Byte Order): 按从高到低的顺序存储,在网络上使用统一的网络字节顺序 ...

  6. mysql inet aton ipv6_Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结

    知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换 ...

  7. Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结

    知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换 ...

  8. inet_pton()和inet_ntop()函数详解

    1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp); inet_aton() 转换网络主机地址ip(如1 ...

  9. inet_pton、inet_ntop函数

    inet_pton和inet_ntop函数 这两个函数是随IPv6出现的函数,对于IPv4地址和IPv6地址都适用,函数中p和n分别代表表达(presentation)和数值(numeric).地址的 ...

最新文章

  1. 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目
  2. 用树莓派DIY血液检测仪,准确率不输专业设备,成本连十分之一都不到
  3. Bugku 杂项(三)
  4. SAP Commerce Cloud (电商云) UI 的懒加载功能
  5. 爬虫软件python彻底卸载_Python爬虫实践:如何优雅地删除豆瓣小组的帖子
  6. MySQL锁的灵魂七拷问
  7. java file数组 初始化_java从文件中读取数据并赋值给数组
  8. 1./app/logs/ 里面的日志只保留7天的(apache每天生成一个文件)
  9. 拒绝搜索引擎抓取页面
  10. 商场收银系统服务器安装在哪里,收银系统怎么安装?详细步骤分享
  11. 约瑟夫 java_约瑟夫问题 java 实现详解
  12. Android Compose——一个简单的Bilibili APP
  13. Alpha阶段敏捷冲刺⑤
  14. 效能篇 | 爱奇艺APP一键体检技术实践
  15. python代码编写
  16. Java中的this关键字(三种用法)
  17. 分享35个非常漂亮的单页网站设计案例
  18. Linux字符型驱动开发—基于友善之臂2416开发板
  19. 模块:time(时间)
  20. 基于ESP32+AMG8833+微信小程序的可联网红外线感应仪

热门文章

  1. 常见的 MIB 设计错误 - (MIB Smithy) 用户指南
  2. Net framework3.5装不上的解决办法
  3. 2021年新西兰经济发展研究报告
  4. Unity2d游戏开发日志(菜只因版)-2月1日-视差
  5. Java基础匿名内部类
  6. OpenCVSharp 笔记21 图像旋转
  7. C语言实例二(switch——case用法)
  8. H3C MPLS BGP实验 新华三杯拆解
  9. Elasticsearch 6.6 官方文档 之「节点」
  10. 模拟器飞行训练-2022.12.1