您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

cgo-如何将字符串转换为C固定的char数组

cgo-如何将字符串转换为C固定的char数组

最简单的解决方案是将结构的字段定义更改为char-pointer,这对于C语言中的字符串是非常标准的:

typedef struct {
    char *field1;
} S1

更复杂的解决方案是[1]:

arr := [256]C.char{}

for i := 0; i < len(mystr) && i < 255; i++ { // leave element 256 at zero
    arr[i] = C.char(mystr[i])
}

s1 := &C.S1{field1: arr}

[1]未经测试的代码,无法在此工作站上编译。

Go 2022/1/1 18:15:01 有596人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶