C数组等效于Swift

时间:2016-03-04 01:07:56

标签: swift

如何使用Swift在CChar数组中设置空字符?

在C中,我可以这样做

char addrBuf[INET6_ADDRSTRLEN];
addrBuf[0] = '\0';

我如何在Swift中执行此操作?

var addrBuf = [CChar]()
addrBuf = [CChar](count: Int(INET6_ADDRSTRLEN), repeatedValue: 0)
addrBuf[0] = '\0'//build error, use ""

2 个答案:

答案 0 :(得分:0)

由于CChar只是Int8的别名使用0
0是null char

的int值

或者:

var addrBuf = [CChar]()
addrBuf = [CChar](count: Int(INET6_ADDRSTRLEN), repeatedValue: 0)
addrBuf[0].value = "\0".utf8.first!.value

答案 1 :(得分:0)

这一行将在一个步骤中声明并初始化您的变量,并将第一个元素设置为0:

import Foundation

var addrBuf = [CChar](count: Int(INET6_ADDRSTRLEN), repeatedValue: 0)