0

私は迅速にlibxml2とインターフェースしており、C APIバインディングは(まだ)UnsafePointer<Int8>!c文字列を生成します。一方、Swift API は通常UnsafePointer<UInt8>!.

だから私の質問は - 文字列を適切な方法で null で終わる C 文字列にしていますか?

let cfilePath = unsafeBitCast(myStringString.nulTerminatedUTF8.withUnsafeBufferPointer { $0.baseAddress }, to: UnsafePointer<Int8>.self)

UInt8代わりに、バイトをバイトとして解釈して Swift 型チェックをバイパスするのではなく、他の方法を使用することを好むべきInt8ですか?

4

2 に答える 2