Kotlin/Native:如何将cArrayPointer转换为数组

Kotlin/Native:如何将cArrayPointer转换为数组,kotlin,kotlin-native,kotlin-interop,Kotlin,Kotlin Native,Kotlin Interop,使用c-interop时,如何将cArrayPointer转换为简单数组/列表 val myArray: Array<Int> = memScoped { val cArray = allocArray<IntVar>(5) fill(cArray) cArray.toSimpleArray() <--- There is no such function } val myArray:Array=memScoped{ val cAr

使用c-interop时,如何将
cArrayPointer
转换为简单数组/列表

val myArray: Array<Int> = memScoped {
    val cArray = allocArray<IntVar>(5)
    fill(cArray)
    cArray.toSimpleArray()     <--- There is no such function
}
val myArray:Array=memScoped{
val cArray=allocArray(5)
填充(卡雷)

cArray.toSimpleArray()我建议您这样做:

val myArray: Array<Int> = memScoped {
        val length = 5      //cause I don't know how to get C-array size
        val cArray = allocArray<IntVar>(length)
        (0 until length).map { cArray[it] }.toTypedArray()
}
val myArray:Array=memScoped{
val length=5//因为我不知道如何获得C数组大小
val cArray=allocArray(长度)
(0直到长度)。映射{cArray[it]}.toTypedArray()
}
正如人们在文档中看到的,CArrayPointer只是CPointer的一个typealias。所以,我想不可能有一个附加功能,就像你想要的那样