gpt4 book ai didi

c - Swift.String 到 CMutablePointer

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:35 24 4
gpt4 key购买 nike

我已经为一些旧的 C 源代码导入并创建了一个桥接头文件到 Swift。函数签名如下所示:

struct Message prattle_parse_message(char *line);

它的快速声明是:

func prattle_parse_message(line: CMutablePointer<CChar>) -> Message

但是,我不确定如何转换 Swift String (或 NSString )到 CMutablePointer<CChar>传递给这个函数。

("Test" as NSString).UTF8String返回 CString这是行不通的。

有人能用这个给我指明正确的方向吗?

最佳答案

应该是...

var data =     inString.dataUsingEncoding(encoding, allowsLossyConversion: allow)
var ccharstr = CChar[](count:data.length, repeatedValue:CChar(0))

data.getBytes(&ccharstr length:data.length)

ccharstr.append(CChar(0))

var message = prattle_parse_message(&ccharstr)

无法测试最后一行,但我认为这应该可行

关于c - Swift.String 到 CMutablePointer<CChar>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089052/

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