Питон:преобразование строк для использования с ctypes.c_void_p()

StackOverflow https://stackoverflow.com/questions/318067

  •  11-07-2019
  •  | 
  •  

Вопрос

задана строка:

msg="hello world"

Как я могу определить это как ctypes.c_void_p() тип данных?

следующий код выдает исключение «невозможно преобразовать в указатель»:

data=ctypes.c_void_p(msg)

data обязан быть void* введите C, потому что он передается в DLL.

Я предполагаю, что есть способ упаковать/распаковать строку, используя struct package, но, к сожалению, я очень незнаком с этим процессом.

Это было полезно?

Решение

Что-то вроде этого?С использованием ctypes.cast?

>>> import ctypes
>>> p1= ctypes.c_char_p("hi mom")
>>> ctypes.cast( p1, ctypes.c_void_p )
c_void_p(11133300)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top