views:

656

answers:

1

given a string:

msg="hello world"

How can I define this as a ctypes.c_void_p() data type?

the following code yields a "cannot be converted to pointer" exception:

data=ctypes.c_void_p(msg)

data is required to be a void* type in C, because it is being passed to a DLL.

I'm assuming there is a way to pack/unpack the string using the struct package, but unfortunately I am very unfamiliar with this process.

+5  A: 

Something like this? Using ctypes.cast?

>>> import ctypes
>>> p1= ctypes.c_char_p("hi mom")
>>> ctypes.cast( p1, ctypes.c_void_p )
c_void_p(11133300)
S.Lott
I believe that's exactly what i'm looking for. thank you!
Thedaego