ctypes return char array with null chars
Mark Tolonen
metolone+gmane at gmail.com
Mon Apr 19 11:01:37 EDT 2010
"chris cannady" <booog35 at gmail.com> wrote in message
news:b103e85a-05d5-4195-a18f-bd143e9f57b8 at b33g2000yqc.googlegroups.com...
> Hi all,
>
> I am passing a ctypes struct byref to a dll. When I get the struct
> back, it looks like the char array in the struct was truncated at the
> first null char. It should be 192 bytes long, but I know the 3rd
> through 6th byte are null chars and the array was truncated right
> before byte 3.
>
> Is there any way to get the full array back including null chars?
>
> Thanks
It could depend on how your struct is declared. Maybe this demo will help?
>>> x=(c_char*10)()
>>> x
<__main__.c_char_Array_10 object at 0x00A049E0>
>>> x.raw
'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> x.value
''
'value' prints it is a string, stopping at the first null. 'raw' dumps the
whole array.
-Mark
More information about the Python-list
mailing list