gpt4 book ai didi

python - 如何打印 ctypes 字符串缓冲区的内容

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:19 27 4
gpt4 key购买 nike

我正在使用 python 中的 ctypes 库创建一个字符串缓冲区。现在,如果我必须在写入后打印此字符串缓冲区的内容,我将如何在 python 中实现它?

import ctypes
init_size = 256
pBuf = ctypes.create_string_buffer(init_size)

最佳答案

您可以使用 .value.raw 属性来访问和操作它们。这在 this part of the ctypes docs 中有详细记录.

这是该部分的一些示例代码:

>>> from ctypes import *
>>> p = create_string_buffer(3) # create a 3 byte buffer, initialized to NUL bytes
>>> print(sizeof(p), repr(p.raw))
3 b'\x00\x00\x00'
>>> p = create_string_buffer(b"Hello") # create a buffer containing a NUL terminated string
>>> print(sizeof(p), repr(p.raw))
6 b'Hello\x00'
>>> print(repr(p.value))
b'Hello'
>>> p = create_string_buffer(b"Hello", 10) # create a 10 byte buffer
>>> print(sizeof(p), repr(p.raw))
10 b'Hello\x00\x00\x00\x00\x00'
>>> p.value = b"Hi"
>>> print(sizeof(p), repr(p.raw))
10 b'Hi\x00lo\x00\x00\x00\x00\x00'
>>>

关于python - 如何打印 ctypes 字符串缓冲区的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42544589/

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