Copying void * string to

Ian Kelly ian.g.kelly at gmail.com
Wed Feb 10 10:30:16 EST 2016


On Wed, Feb 10, 2016 at 5:07 AM, Martin Phillips
<martinphillips at ladybridge.com> wrote:
> I am writing a Python wrapper to go around a C library. I have encountered a problem that I have been unable to resolve with
> countless web searches.
>
>
>
> Several functions in the C library return pointers to dynamically allocated w_char null terminated strings. I need to copy the
> string to a Python variable and call an existing library function that will free the dynamically allocate memory.
>
>
>
> My test code for this is
>
>
>
> def Test(fno, item):
>
>     func = mylib. MyFunc
>
>     func.restype = ct.c_void_p
>
>     s = func(fno, item)
>
>     result = s
>
>     mylib.free(s)
>
>     return result
>
>
>
> The problem is with the line that sets the result variable. I need this to make a copy of the dynamically allocated string, not the
> pointer to it.

Does ctypes.wstring_at(s) do what you want?



More information about the Python-list mailing list