4
我有一個C函數返回字符串(char *),我們稱之爲foo()
。 在python中,我想調用它並使用它的返回值,當我完成時,我想調用另一個C函數,它釋放返回的字符串foo
。ctypes char *需要的指針
如何獲得指針和字符串本身?如果我這樣做:
fooFunc = foolib.foo
fooFunc.restype = c_char_p
r = fooFunc()
然後我得到的字符串,但不是指針。如果我在沒有指定restype
的情況下這樣做,我會得到一個似乎是正確地址的int,但每當我試圖用c_char_p(<address>)
來施放它時,它都會崩潰並出現分段錯誤。
這很好用,非常感謝! – Mkoch