gpt4 book ai didi

swift - 如何使用快速将字符串转换为 ipv6 地址

转载 作者:搜寻专家 更新时间:2023-11-01 07:27:27 29 4
gpt4 key购买 nike

我有一个 ipv6 字符串,如何使用 Swift 转换为 in6_addr

let ipString = "2001:0b28:f23f:f005:0000:0000:0000:000a"

最佳答案

您可以使用 inet_pton()与在 C 程序中类似:

let ipString = "2001:0b28:f23f:f005:0000:0000:0000:000a"
var addr = in6_addr()
let retval = withUnsafeMutablePointer(&addr) {
inet_pton(AF_INET6, ipString, UnsafeMutablePointer($0))
}

if retval == 0 {
print("Invalid address")
} else if retval == -1 {
print("Failed:", String.fromCString(strerror(errno)) ?? "\(errno)")
// For Swift 3, replace the last line by
// print("Failed:", String(cString: strerror(errno)))
} else {
// Success, `addr` contains the result.
}

withUnsafeMutablePointer() 是传递地址所必需的addr 变量到 inet_pton()

关于swift - 如何使用快速将字符串转换为 ipv6 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056268/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com