如何在Swift语言中定义字符数组

agyaoht7  于 2023-03-16  发布在  Swift
关注(0)|答案(3)|浏览(125)

这是我的C代码在一个Objective-C方法
字符地址缓冲区[100];
但是如何在Swift语言中定义这个字符呢?
我试过这样的方法,但没有用:
变量地址缓冲区:C字符(100)
以下是https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/InteractingWithCAPIs.html的文档

o2g1uqev

o2g1uqev1#

这就是在 Swfit 中获得一个漂亮的unicode字符数组的方法:

var charArray: Array<Character> = Array(count: 100, repeatedValue: "?")

if最初用100个问号填充数组。

更新

CChar为例:

var charArray: Array<CChar> = Array(count: 100, repeatedValue: 32) // 32 is the ascii space
kmb7vmvb

kmb7vmvb2#

这段Swift代码似乎分配了一些可用的东西作为一个大小为100的C字符数组(为了C互操作的需要):

var addressBuffer = [Int8](count: 100, repeatedValue: 0)

// test it
addressBuffer[0] = 65 // 'A'
addressBuffer.withUnsafePointerToElements() { (addrBuffPtr : UnsafePointer<CChar>) -> () in
      // use pointer to memory
      var x0 = addrBuffPtr.memory
      println("The ASCII value at index 0 is \(x0)")

      var myCOpaquePointer = COpaquePointer(addrBuffPtr)
      // use C pointer for interoperation calls
}
sczxawaw

sczxawaw3#

  • *Swift 4+**中hotpaw2的答案
var addressBuffer = [Int8](repeating: 0, count: 100)

相关问题