最近要用到网络编程的东西,差一点自己去山寨已有的函数。基础不好,不知道已有函数可以满足需要,呵呵。 这个示例程序说的是ip地址的数字形式和字符串形式之间的相互转换。 从字符串形式转换到数字形式: inet_pton -- presentation to numeric 从数字形式转换到字符串形式: inet_ntop -- numeric to presentation   #include int inet_pton(int af, const char *src, void *dst); 参数af指的是地址族,取值AF_INET,如果是IPV4; 或AF_INET6,如果是IPV6 src指向是要转换的字符串的指针。 dst是存放转换后的数字形式的地址存放的地方。 返回值: 当成功时返回1,错误时返回0   #include const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); 参数af的意义同上, src指向要转换的数字形式的指针。 dst指向存放結果空间的指针 size,如果要转换ipv4地址,由宏INET_ADDRSTRLEN定义,取值16。 因为最长的ipv4地址的字符串形式就是16字节。 例如"255.255.255.255"就是15个字符加一个'\0'结束符。 如果要转换ipv6地址,由宏INET6_ADDRSTRLEN定义,取46。 至于为什么取46而不取40,我也搞不清楚。 最长的IPV6地址的字符串形式是40字节。 例如"2001:2001:2001:2001:2001:2001:2001:2001"就是40字节。 */

#include

#include

int main()

{

int i = 0;

char *ipv4 = "10.3.6.123";

char *ipv6 = "2001:db8:0:1234:0:567:1:1";

unsigned char bufipv4[4] = {0};

unsigned char bufipv6[16] = {0};

char to_ipv4[INET_ADDRSTRLEN] = {0};

char to_ipv6[INET6_ADDRSTRLEN] = {0};

//把字符串10.3.6.123转换成数字的形式,并存储在bufipv4中。并输出验证是否转换成功

if( inet_pton(AF_INET, ipv4, bufipv4) == 1)

for(i=0; i

printf("%d ", bufipv4[i]);

printf("\n");

//把字符串ipv6转换成数字的形式,并存储在bufipv6中。并输出验证是否成功。

if( inet_pton(AF_INET6, ipv6, bufipv6)==1 )

for(i=0; i

printf("%x ", bufipv6[i]);

printf("\n");

//把数字形式的地址转换成字符串的形式

printf("%s\n", inet_ntop(AF_INET, bufipv4, to_ipv4, INET_ADDRSTRLEN));

printf("%s\n", inet_ntop(AF_INET6, bufipv6, to_ipv6, INET6_ADDRSTRLEN));

return 0;

}

/* 输出如下: 10 3 6 123 20 1 d b8 0 0 12 34 0 0 5 67 0 1 0 1 10.3.6.123 2001:db8:0:1234:0:567:1:1 */

ip地址转换数字函数 iton_IP地址的字符串形式和数字形式之间的相互转换函数相关推荐

  1. html flash地址,PHP如何实现将视频html地址转换成flash swf地址

    PHP如何实现将视频html地址转换成flash swf地址 发布时间:2021-06-22 14:55:41 来源:亿速云 阅读:52 作者:小新 这篇文章主要介绍了PHP如何实现将视频html地址 ...

  2. php flash 代码转换,PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法...

    本文实例讲述了PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法.分享给大家供大家参考,具体如下: 很多用户不知道如何复制flash地址,只能在程序中帮他们替换了: /** * ...

  3. ip地址转换数字函数 iton_IP 地址转换(在点分格式和数字之间相互转换)

    MySQL 中的内的 IP 地址转换函数: 1. IP 由点分格式,转换为数字格式.mysql> select inet_aton('202.96.128.68'); +------------ ...

  4. ip地址转换数字函数 iton_IP地址转换函数

    在ASCII字符串("192.168.0.99")与网络字节序的二进制值间转换地址. 涉及函数的头文件为#include 一.只适用于IPv4协议的函数: int inet_ato ...

  5. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...

  6. isdigit函数python检测数字个数_Python中判断字符串是否为数字的三个方法isdecimal 、isdigit、isnumeric的差别...

    isdecimal .isdigit.isnumeric这三个字符串方法都用于判断字符串是否为数字,为什么用三个方法呢?他们的差别是什么内? isdecimal:是否为十进制数字符,包括Unicode ...

  7. python中isdigit函数什么意思_python字符串是否为数字类型-python isdigit函数-isdigit函数 python-python isdigit函数使用-嗨客网...

    Python字符串是否是数字教程 在开发过程中,有时候我们需要判断一个 Python isdigit()函数详解 语法 str.isdigit() -> bool 参数 参数 描述 str 表示 ...

  8. C++中使用isdigit()函数判断字符或字符串是否是数字

    C++中的 isdigit( ) 函数可以用来判断字符是否为数字 头文件:使用函数 isdigit( ) 需要包含头文件 #include <ctype.h> 功能:当判断的字符是数字时, ...

  9. mysql 过滤纯数字_mysql中怎么样过滤字符串中的数字

    今天,有网友邮件问我,怎么样过滤掉字符串中的数字,比如: mysql> select * from TEST; +---------+------------------------+ | Co ...

最新文章

  1. ie8加载js太慢_js ie8 慢
  2. python实例(一)
  3. 定积分证明题例题_第二十天(20,11,27):积分中值定理
  4. BugkuCTF-Misc:白哥的鸽子
  5. html框架实验总结,网页设计实训心得
  6. 鸿蒙构架谁提供的,科普丨关于“鸿蒙”,不知道这些你都不好意思跟别人打招呼!...
  7. sklearn报错DeprecationWarning: the imp module is deprecated in favour of importlib
  8. 聚类(1)-- k-means clustering
  9. Can not find the tag library descriptor for http://java.sun.com/jsp/jst1/core
  10. 窗口最大化后超出液晶显示器的屏幕范围的问题
  11. 1.2 网络爬虫分类
  12. Outlook里怎么设置网易企业邮箱【163企业邮箱注册】
  13. PHP模式-单例模式
  14. 三次样条曲线CubicSpline
  15. android微信迁移数据,【CSDN博客迁移】Android集成微信支付之-天坑
  16. linux下Local Adress(本地ip:端口)和Foreign Address(外部ip:端口)
  17. jdk1.8新特性之Lambda表达式
  18. java 获取下一年_JAVA获取下一年,下个月,下一天;月份为何以0开始?
  19. 微信支付默认关注公众号的规则
  20. air724UG + Luat玩转物联网(三) ADC

热门文章

  1. 主成分分析在SPSS中的操作应用
  2. Qt显示视频流——nginx+rtmp搭建直播服务器(二)
  3. 北京拓保世纪:以硬技术为根本,用专业力量传递价值!
  4. 51单片机学习-5定时器与中断
  5. echarts 横坐标显示一个月,excel折线图横坐标最后一个点选择数据选不上是什么原因?...
  6. python微信登录模块_Python清理微信僵尸粉,基于itchat模块
  7. arcgis不闭合线转面_ArcGIS线转面的方法
  8. 在线Cron表达式解析工具使用说明
  9. CentOS 7中查看PHP运行时的Log文件日志信息
  10. Saturn Java作业SpringBoot方式开发打包