(3)网络字节序二进制和ASC字符串转换

原创 2007年09月22日 18:21:00
#include<arpa/inet.h>
int inet_aton(const char *strptr, struct in_addr *addrptr );
//返回 1——串有效。0——串错误
将strptr指向的C字符串转换称32位网络字节序二进制值;并通过指针addrptr存储
in_addr_t inet_addr( const char *strptr );
若成功。返回32位2进制网络字节序。有错返回。INADDR_NONE(一般为32位都是1的值,这就意味点分十进制数串255.255.255.255不能有这个函数处理)
char *inet_ntoa( struct in_addr inaddr );
返回指向点分十进制数串的指针
以上3个函数只能处理IPV4
以下2个函数IPV4和IPV6都能够处理
#include <arpa/inet.h>
int inet_pton( int family, const char *strptr, void *addrptr );
返回1——成功。0——输入不是有效的表达式。-1——出错;
const char *inet_ntop( int family, const void *addrptr, char *strptr, size_t len );
返回:指向结果的指针——成功。NULL——出错。
以上2个函数的参数family既可以是AF_INET.也可以是AF_INET6.如果以不被支持的地址族作为family参数。两个函数返回错。并将
errno置为EAFNOSUPPORT.
len是目标大小。以免溢出。
<netinet/in.h>
中定义:#define INET_ADDRSTRLEN 16;    //for ipv4
#define INET6_ADDRSTRLEN 46           //for ipv6 
如果len太小。返回空指针。置errno为ENOSPC.
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

网络图片 二进制 字符串 转换

/** * @Title getImgeHexString * @Description 网络图片转换成二进制字符串 * @param URLName 网络图片地址 * ...

Linux网络编程--字符串IP和二进制IP转换

一:不安全的(不可重入性)inet_xxx()函数族 由于计算机理解的IP都是以二进制形式保存的,那么在网络程序设计中经常会需要字符串IP和二进制IP的转换,linux系统有一组要用于网络地址转换的函...

Linux网络编程--字符串IP和二进制IP转换

一:不安全的(不可重入性)inet_xxx()函数族由于计算机理解的IP都是以二进制形式保存的,那么在网络程序设计中经常会需要字符串IP和二进制IP的转换,linux系统有一组要用于网络地址转换的函数...

【ASC45D】【构造 电阻网络法+暴力冲精度法+比例转换法】醉汉走路二分叉 回家概率恰为p/q

【ASC45D】【构造】方法一之电阻网络法 WIKI Gambler's ruin #include #include #include #include #include #include #in...

Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

字符串和字节的转换

  • 2016-01-26 17:21
  • 615B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)