【问题标题】:Python: converting strings for use with ctypes.c_void_p()Python:转换字符串以用于 ctypes.c_void_p()
【发布时间】:2010-09-24 00:02:30
【问题描述】:

给定一个字符串:

msg="hello world"

如何将其定义为 ctypes.c_void_p() 数据类型?

以下代码产生“无法转换为指针”异常:

data=ctypes.c_void_p(msg)

data 必须是 C 中的 void* 类型,因为它正在传递给 DLL。

我假设有一种方法可以使用 struct 包来打包/解包字符串,但不幸的是我对这个过程非常不熟悉。

【问题讨论】:

    标签: python dll types ctypes


    【解决方案1】:

    这样的?使用ctypes.cast?

    >>> import ctypes
    >>> p1= ctypes.c_char_p("hi mom")
    >>> ctypes.cast( p1, ctypes.c_void_p )
    c_void_p(11133300)
    

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 2013-09-30
      • 2010-10-29
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      相关资源
      最近更新 更多