我有一个返回字符串 (char *) 的 C 函数,我们称之为foo()
. 在 python 中,我想调用它并使用它的返回值,当我完成后,我想调用另一个 C 函数来释放foo
返回的字符串。
如何获取指针和字符串本身?如果我这样做:
fooFunc = foolib.foo
fooFunc.restype = c_char_p
r = fooFunc()
然后我得到了字符串,但没有得到指针。如果我在不指定 的情况下执行此操作restype
,我会得到一个似乎是正确地址的 int,但是每当我尝试将其强制转换为 sting 时,c_char_p(<address>)
它就会因分段错误而崩溃。