gpt4 book ai didi

python - 在 python 中使用 ctypes 方法会产生意外错误

转载 作者:太空狗 更新时间:2023-10-29 20:59:34 24 4
gpt4 key购买 nike

我对 python 和 ctypes 还很陌生。我正在尝试完成一项看似简单的任务,但却得到了意想不到的结果。我正在尝试将字符串传递给 c 函数,因此我使用的是 c_char_p 类型,但它给了我一条错误消息。简而言之,这就是正在发生的事情:

>>>from ctypes import *
>>>c_char_p("hello world")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string or integer address expected instead of str instance

这是怎么回事?

最佳答案

在 Python 3.x 中,"text literal" 实际上是一个 unicode 对象。您想使用像 b"byte-string literal"

这样的字节字符串文字
>>> from ctypes import *
>>> c_char_p('hello world')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string or integer address expected instead of str instance
>>> c_char_p(b'hello world')
c_char_p(b'hello world')
>>>

关于python - 在 python 中使用 ctypes 方法会产生意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8480376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com