相关疑难解决方法(0)

将C char数组转换为String

我有一个与C库互操作的Swift程序.这个C库返回一个char[]内部有数组的结构,如下所示:

struct record
{
    char name[8];
};
Run Code Online (Sandbox Code Playgroud)

该定义被正确导入Swift.但是,该字段被解释为8个元素(类型)的元组,我不知道如何使用Swift 转换为a .Int8(Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8)String

没有String接受Int8元组的初始化器,并且似乎不可能获得指向元组的第一个元素的指针(因为类型可以是异构的,这并不奇怪).

现在,我最好的想法是创建一个微小的C函数,它接受一个指向结构本身的指针,并name作为char*指针而不是数组返回,并继续使用它.

然而,是否有纯粹的Swift方式呢?

arrays interop tuples swift

22
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

interop ×1

swift ×1

tuples ×1