python - 通过 Cython 调用 inet_pton

标签 python posix ipv6 cython

我想在 Cython 中调用 inet_pton 来获取 IPv6 地址。基本上我想要执行与以下 C 代码等效的操作:

char str[16];
inet_pton(AF_INET6, "12:212::122", &str);

我尝试了以下方法:

cdef char buff[16]
inet_pton(AF_INET6, address, &buff):

但这会产生错误:“获取非左值的地址”。

正确的做法是什么?最后我需要将 IPv6 地址字符串转换为 python long。

最佳答案

使用 buff&buff[0] 而不是 &buff

关于python - 通过 Cython 调用 inet_pton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887493/

相关文章:

python - Python中的位列表到整数

python - 如何在python中增加日期格式的月份

Python 文件路径在 pycharm 正则表达式混淆中失败

用户空间中的 linux 高分辨率计时器

c++ - 为什么不推荐使用 isascii()?

c - 为什么 select 不向带有缓冲数据的文件描述符发出信号?

php - PHP中如何检查IP地址是否在两个IP范围内? - 支持ipv6

python - 将 pandas 数据框分组并将多个值收集到集合中

java - 当 java.net.preferIPv4Stack=true 时,无法对 IPv6 使用 InetAddress.isReachable(timeout)

python - 我如何使用 Django 获取 IPV6 地址?