如何通过golang中的CGO将Go字符串复制到C char *?

我想通过CGO将Go字符串复制到char *中。

我可以这样做吗?

func copy_string(cstr *C.char) {

str := "foo"

C.GoString(cstr) = str

}

回答:

根据cgo文档,您需要使用C.CString函数将Go字符串转换为C字符串:

cstr = C.CString(str)

请注意,C.CString函数为您分配了内存,但不会释放它,因此您有责任通过如下调用来释放内存:

C.free(unsafe.Pointer(cstr))

以上是 如何通过golang中的CGO将Go字符串复制到C char *? 的全部内容, 来源链接: utcz.com/qa/422639.html

回到顶部