我想通过CGO将Go字符串复制到char*中.
我可以这样做吗?
func copy_string(cstr *C.char) {
str := "foo"
C.GoString(cstr) = str
}
Run Code Online (Sandbox Code Playgroud)
jnm*_*oal 12
根据cgo文档,您需要使用C.CString函数将Go字符串转换为C字符串:
cstr = C.CString(str)
Run Code Online (Sandbox Code Playgroud)
请注意C.CString函数为您分配内存,但不会释放它,因此您可以通过以下调用释放内存:
C.free(unsafe.Pointer(cstr))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4830 次 |
| 最近记录: |