如何解决如何通过golang中的CGO将Go字符串复制到C char *?
根据cgo文档,您需要使用C.CString函数将Go字符串转换为C字符串:
cstr = C.CString(str)
请注意,C.CString函数为您分配了内存,但不会释放它,因此您有责任通过如下调用来释放内存:
C.free(unsafe.Pointer(cstr))
解决方法
我想通过CGO将Go字符串复制到char *中。
我可以这样做吗?
func copy_string(cstr *C.char) {
str := "foo"
C.GoString(cstr) = str
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。