一、字符串表示的IP地址需要被转化为整数(二进制数)方能使用

IPv4地址:点分十进制字符串

IPv6地址:十六进制字符串

有时(如记录日志),我们则要把整数(二进制数)表示的IP地址转化为可读的字符串。

二、三个只能用于IPv4地址的函数

/* 点分十进制数串 长度为32位的网络字节序二进制值 */

in_addr_tinet_addr(const char *strptr);

intinet_aton(const char *cp, struct in_addr *inp)

char*inet_ntoa(struct in_addr in);

1. inet_ntoa是不可重入的,其内部用一个静态变量存储转化的结果,返回值指向该静态内存

char *pAddr1 = inet_ntoa("1.2.3.4");

char *pAddr2 = inet_ntoa("10.194.71.60");

printf("address 1: %s\n", pAddr1);

printf("address 2: %s\n", pAddr2);

/* 上面代码的输出结果 */

// address 1: 10.194.71.60

// address 2: 10.194.71.60

2. inet_addr存在缺陷,现已被废弃,可用inet_aton来代替它

三、同时适用于IPv4和IPv6地址的函数

intinet_pton(int family, const char *src, void *dst);

const char* inet_ntop(int family, const void *src, char *dst, socklen_t len);

参数len用于指定目标存储单元的大小,以免该函数溢出其调用者的缓冲区,有两个宏能帮助我们指定这个大小

#define INET_ADDRSTRLEN16// 用于IPv4

#defineINET6_ADDRSTRLEN46// 用于IPv6

四、余音绕梁

1. 推荐使用inet_pton和inet_ntop函数

ip地址转换数字函数 iton_3. IP地址转换函数相关推荐

  1. web前端入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者 ...

  2. 前端开发入门到实战:JavaScript字符串转换数字

    js 字符串转换数字方法主要有三种: 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者 ...

  3. MySQL 常用内置函数与所有内置函数

    MySQL 常用内置函数 [数值函数] Abs(X) //绝对值abs(-10.9) = 10 Format(X,D) //格式化千分位数值format(1234567.456, 2) =1,234, ...

  4. ip地址转换数字函数 iton_DataLakeAnalytics: 解析IP地址对应的国家城市的函数

    Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家.省份.城市.ISP的函数, 今天带大家体验一下. 函数详细介绍 本次一共添加了下面这些函数: ip ...

  5. ip地址转换数字函数 iton_IP地址的字符串形式和数字形式之间的相互转换函数

    最近要用到网络编程的东西,差一点自己去山寨已有的函数.基础不好,不知道已有函数可以满足需要,呵呵. 这个示例程序说的是ip地址的数字形式和字符串形式之间的相互转换. 从字符串形式转换到数字形式: in ...

  6. ip地址转换数字函数 iton_PHP中IP地址与整型数字互相转换详解

    IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,i ...

  7. ip地址转换数字函数 iton_数字转IP地址函数

    -- 数字转 IP 地址函数: IF OBJECT_ID ( 'dbo.fn_IP2Str' )> 0 DROP FUNCTION dbo . fn_IP2Str GO CREATE FUNCT ...

  8. ip地址转换数字函数 iton_esp8266 inet_ntoa函数实现 ip地址转换为字符串 MAC地址转字符串...

    esp8266芯片可作为mcu,功能很强大,但与传统mcu相比,可用资源实在不多,连浮点数都不支持 IP地址转字符创函数inet_ntoa很方便,但8266中没有!!!!! 本节将讲述如何自己实现in ...

  9. linux c socket ip地址 字符串 数字 转换 inet_addr inet_ntoa

    目录 0.转换函数 1.介绍inet_addr函数 2.介绍inet_ntoa函数 3.一般使用总结 inet_addr 将字符串形式的IP地址 -> 网络字节顺序  的整型值 inet_nto ...

最新文章

  1. python 缺失值处理(Imputation)
  2. 一个简单的登录页面,效果不错哦!
  3. 前端开发--播放页面评论区业务逻辑初步
  4. mysql 快速插入(insert)多条记录
  5. LINUX与UNIX SHELL编程指南 学习笔记
  6. Android_(服务)Vibrator振动器
  7. struts1、 struts2所有版本jar包下载地址大全
  8. Java使用POI导出Excel文件
  9. 【SLAM学习笔记】8-ORB_SLAM3关键源码分析⑥ Optimizer(三)全局优化
  10. python数据框列命名_python-按列名称处理pandas数据框值
  11. TCP粘包分析与处理
  12. CX水晶易表连接数据库的方法
  13. 前端学习 -- HtmlCss -- 背景
  14. 如何通过局域网共享本机网页
  15. html里 f00是什么颜色,html 颜色对照表
  16. php 的 yii 框架,详解PHP的Yii框架的运行机制及其路由功能
  17. android高效虚拟机调试方式
  18. 数学专业考研学计算机,科学网—数学专业考研的那些事 - 苏先锋的博文
  19. 计算机查找在线设备IP指令,[转载]查看局域网内在线的电脑的IP地址(批处理)
  20. miniui实现多附件上传

热门文章

  1. 天堂2单机服务端开外网整理篇
  2. 全面解决Jenkins离线、安装插件失败
  3. visio2013安装之后,未经授权解决方案
  4. 【莫烦Python】Numpy教程
  5. 概率论与数理统计系列笔记之第四章——大数定理与中心极限定理
  6. OpenSSL中的EVP接口
  7. TortoiseGit小乌龟的基本操作
  8. idea配置阿里代码规范
  9. Linux系统如何更改主机名,即 [root@xxxx] 改成 [root@localhost]
  10. zlog库的交叉编译