[VC] IP地址的字符串形式与整数互换

Posted wxxujian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[VC] IP地址的字符串形式与整数互换相关的知识,希望对你有一定的参考价值。

  IPV6出现之后,在windows平台,最好是用随IPV6而出的新函数实现IP地址的字符串形式与整数互换。这些新函数是InetPton和InetNtop。

1  InetPton()

  作用:该函数实现字符串到整数的转换。

  原型:INT InetPton(INT Family, PCWST pszAddrString,  PVOID pAddrBuf);

  参数:family参数既可以是AF_INET(ipv4)也可以是AF_INET6(ipv6)。如果,以不被支持的地址族作为family参数,这个函数都返回一个错误,并将errno置为EAFNOSUPPORT.

       strptr 存放IP地址的字符串

       addrptr 存放IP地址的整数的指针

  返回:若成功则为1,若输入不是有效的表达式则为0,若出错则为-1

  例子:
      ULONG address;
      InetPton(AF_INET, "192.168.1.1", &address);

2  InetNtop()

  作用:该函数实现整数到字符串的转换。

  原型:PCWST InetNtop(INT Family, const void * pAddr, PWSTR pStringBuf, size_t StringBufSize);

  参数:family参数既可以是AF_INET(ipv4)也可以是AF_INET6(ipv6)。如果,以不被支持的地址族作为family参数,这个函数都返回一个错误,并将errno置为EAFNOSUPPORT.
       pAddr 存放IP地址的整数的指针,

       pStringBuf 存放IP地址的字符串,

       StringBufSize 字符串的长度

  返回:存放IP地址的指针。如果StringBufSize太小,不足以容纳表达式结果,那么返回一个空指针,并置为errno为ENOSPC。

  例子:
      ULONG address = 。。。;
      wchar_t ip[64];

      InetNtop(AF_INET, &address, ip, 64);

以上是关于[VC] IP地址的字符串形式与整数互换的主要内容,如果未能解决你的问题,请参考以下文章

怎样将一个ip地址写成一个32位无符号整数形式

整数/小数以字符串形式输出

scanf

华为python机试题目:整数与IP地址间的转换图片整理字串的连接最长路径查找提取不重复的整数字符串合并处理字符串最后一个单词的长度删除字符串中出现次数最少的字符

高性能MySql系列-Schema与数据类型优化

IP地址uint32与string互换