Python ctypes с использованием массива c_char в союзах - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь создать объединение, как показано ниже:

import ctypes as c

int_array = c.c_int * 10
char_array = c.c_char * 10

class Union(c.Union):
    _fields_ = [("i", int_array), ("s", char_array)]

u = Union()

Но s атрибут u равен bytes вместо массива символов.

>>> type(u.s)
<class 'bytes'>

Но если я создам экземпляр char_array следующим образом:

>>> c = char_array()
>>> type(c)
<class '__main__.c_char_Array_10'>

Тогда все в порядке.

Что не так с моим кодом?

...