J'ai défini une structure:Python3 ctypes Le tableau c_char a-t-il été converti en un type octets immuable?
class test(Structure):
_fields_ = [('char_array', c_char * 255)]
a = test()
# prints <class 'bytes'>
print(type(a.char_array))
Pourquoi ce type bytes
et non de type bytearray
? Je ne parviens pas à modifier les valeurs dans char_array
car les octets ne prennent pas en charge l'affectation d'éléments. i.e: a.char_array[0] = 1
Ce n'est pas le cas si je devais utiliser c_int
; juste curieux pourquoi ctypes convertit ceci en objet bytes
et ne le laissant pas comme c_char_Array_255
comme si c'était c_int * 255
?
Comment puis-je convertir à un bytearray
et toujours modifier la structure en conséquence?
Oui; J'ai oublié le type 'c_byte'; Je vous remercie. – jacob