如何在Swift 3中将[UInt8]数组复制到C指针?

时间:2016-11-29 06:52:34

标签: ios c arrays swift swift3

我正在尝试将Swift [UInt8]缓冲区复制到C指针。我找不到合适的解决方案,这是我的代码:

uploadBodyBytes = [UInt8]()
...
...
var data = crl.uploadBodyBytes[crl.bodyBytesUploaded..<crl.bodyBytesUploaded+actualLen]

_ = data.withUnsafeBytes({ (rawData /*provides UnsafeRawBufferPointer*/) -> UnsafeMutableRawPointer in
    return memcpy(a, rawData /*expected UnsafeRawPointer*/, actualLen)
})

data.withUnsafeBytes给了我UnsafeRawBufferPointer,但这似乎与期望memcpy的{​​{1}}不相容。

帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

您可以使用baseAddress属性访问它,但不需要。