linux网络编程之inet_pton和inet_ntop函数
来源:互联网 发布:人工智能行业入门 编辑:程序博客网 时间:2024/06/09 20:21
Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换
而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。
1、inet_pton函数原型如下[将“点分十进制” -> “整数”]
#include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> int inet_pton(int af, const char *src, void *dst);
这个函数转换字符串到网络地址,第一个参数af是地址族,转换后存在dst中
inet_pton 是inet_addr的扩展,支持的多地址族有下列:
af = AF_INET
src为指向字符型的地址,即ASCII的地址的首地址(ddd.ddd.ddd.ddd格式的),函数将该地址
转换为in_addr的结构体,并复制在*dst中
af =AF_INET6
src为指向IPV6的地址,,函数将该地址
转换为in6_addr的结构体,并复制在*dst中
如果函数出错将返回一个负值,并将errno设置为EAFNOSUPPORT,如果参数af指定的地址族和src格式不对,函数将返回0。
2、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 cat);
这个函数转换网络二进制结构到ASCII类型的地址,参数的作用和上面相同,只是多了一个参数socklen_t cnt,他是所指向缓存区dst的大小,避免溢出,如果缓存区太小无法存储地址的值,则返回一个空指针,并将errno置为ENOSPC
下面例子
结果
0 0
- linux网络编程之inet_pton和inet_ntop函数
- 网络编程之inet_pton,inet_ntop,sock_ntop函数
- Linux函数--inet_pton / inet_ntop
- Linux函数--inet_pton / inet_ntop
- inet_pton和inet_ntop函数
- inet_pton和inet_ntop函数
- inet_pton和inet_ntop函数
- inet_pton和inet_ntop函数
- linux网络编程之用一张图片说明函数inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系
- inet_pton函数 和inet_ntop函数
- inet_pton函数 和inet_ntop函数
- Unix网络编程卷一: 网络地址转换函数 (inet_pton和inet_ntop)
- inet_pton()和inet_ntop()函数详解
- inet_pton 和 inet_ntop 等函数
- inet_pton()和inet_ntop()函数详解
- 网络编程:inet_ntoa inet_aton inet_ntop和inet_pton分不清楚
- inet_pton、inet_ntop函数
- inet_pton、inet_ntop函数
- FIRST TOUCH-20170308-Swoole+Nginx+Redis(慢慢补)
- hexo+github教程之Markdown工具-MarkdownPad
- 找到两个数的差为一个特定数
- OpenSSL之EVP(三)——EVP对称算法编程示例
- 写在开篇
- linux网络编程之inet_pton和inet_ntop函数
- 实现两个整数变量的互换(不借助其他变量)
- cerr和clog
- Thread-使用同步块来有效的减少同步范围,可以提高代码并发运行的效率。
- 要让自己根本停不下来-三年前的文章整理
- 华为校招面试+实习经历+工作经历
- 对于JAVA虚拟机运行时数据区的理解
- MAC时隔半年配置phpmyadmin成功 发篇博客希望初学者少走弯路
- 3.Javascript语法-条件语句if...else