gpt4 book ai didi

python - 如何将项目插入 c_char_p 数组

转载 作者:太空狗 更新时间:2023-10-29 20:42:55 31 4
gpt4 key购买 nike

我想将一个字符指针数组传递给一个 C 函数。

我指的是 http://docs.python.org/library/ctypes.html#arrays

我写了下面的代码。

from ctypes import *

names = c_char_p * 4
# A 3 times for loop will be written here.
# The last array will assign to a null pointer.
# So that C function knows where is the end of the array.
names[0] = c_char_p('hello')

我收到以下错误。

TypeError: '_ctypes.PyCArrayType' object does not support item assignment

知道如何解决这个问题吗?我想与

c_function(const char** array_of_string);

最佳答案

您所做的是创建一个数组类型,而不是实际的数组,所以基本上:

import ctypes
array_type = ctypes.c_char_p * 4
names = array_type()

然后您可以按照以下方式做一些事情:

names[0] = "foo"
names[1] = "bar"

...然后使用 names 数组作为参数调用您的 C 函数。

关于python - 如何将项目插入 c_char_p 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4687170/

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