首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cffi和char**作为参数

Cffi和char**作为参数
EN

Stack Overflow用户
提问于 2021-06-04 01:15:21
回答 1查看 65关注 0票数 0

我用Python编写了以下代码,使用cffi:

代码语言:javascript
复制
from cffi import FFI

ffi = FFI()
ffi.cdef("int somefunc(char** data);")

lib = ffi.dlopen("somelib")

现在,我想用char**调用somefunc并将数据传递给Python。somefunc实际上填充了data,因此:

代码语言:javascript
复制
data = ffi.new("char**", ffi.NULL)
lib.somefunc(data)

那么,我现在该如何将data变量的结果转换为Python字符串呢?有什么想法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-06-05 18:41:59

data[0]data[n]提供数组中的第n项。(如果只有一个字符串,那么它将是data[0];根据您问题中的细节,我认为情况就是这样。)这仍然是一个char *,但是您可以使用ffi.string(data[0])将其解释为以null结尾的字节字符串。像往常一样,您可能需要使用正确的编码将该字节字符串解码为普通的unicode字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67825899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档