ctypes 缓冲区修改

2 投票
2 回答
755 浏览
提问于 2025-04-15 20:37

我需要在我的Python代码中调用一个C语言的库。这个C库主要用于处理图像,所以我使用create_string_buffer来分配图像缓冲区。

问题是,我还需要对这些缓冲区进行操作和修改。有什么好的方法可以直接修改我缓冲区中的单个值呢?这些缓冲区都是uint8类型的。

2 个回答

1

你可能会发现,Cython 比起 ctypes 模块,更容易将 C 语言的库和 Python 代码结合在一起。

2

你的意思是,像这样...:

>>> import ctypes
>>> x = ctypes.create_string_buffer('howdy!')
>>> x.value
'howdy!'
>>> x[0] = 'C'
>>> x.value
'Cowdy!'

...?

撰写回答