0

我在玩 kotlin-native,试图打开一个文件。该文件已正确打开并创建,但是,在打印到文件时出现错误“致命错误:glibc 检测到无效的 stdio 句柄

进程以退出代码 134 结束(被信号 6:SIGABRT 中断)“

我在这里做错了吗?或者这是一个 kotlin 配置问题?相同的代码在 C 中确实有效

import kotlinx.cinterop.*
import platform.posix.*

fun main(args: Array<String>) {
    val home = getenv("HOME")?.toKString() ?: "NONE"
    val fopen: FILE = fopen("$home/checkinTime", "w")?.pointed ?: throw RuntimeException()
    val readValue: CValue<FILE> = fopen.readValue();
    fprintf(readValue,"String")
}
4

1 回答 1

1

这段代码完成了这项工作:

import kotlinx.cinterop.*
import platform.posix.*

fun main(args: Array<String>) {
    val home = getenv("HOME")?.toKString() ?: "NONE"
    val f = fopen("$home/checkinTime", "w") ?: throw RuntimeException()
    fprintf(f, "String")
    fclose(f)
}
于 2018-08-16T07:57:21.127 回答