create_string_buffer如何获取已用大小

leo*_*n22 3 python ctypes string-length

如何确定使用 create_string_buffer 创建的缓冲区的已用大小/长度?

buffer = create_string_buffer(1000)
Run Code Online (Sandbox Code Playgroud)

例如,在缓冲区中,我有 3 个值,997 个未使用 -> 如何获得 3 个值?

Lau*_*low 5

有什么理由你不能这样做吗len(buffer.value)

为了纯粹的理论上的乐趣——如果你可以使用上述方法,我认为没有理由这样做——我会提到你也可以这样做buffer.raw.find("\x00")or list(buffer).index("\x00")。如果字符串没有正确地以 null 终止,则这些操作会失败。