Bạn phải sử dụng lập chỉ mục:
>>> p = ctypes.cast("foo", ctypes.POINTER(ctypes.c_char))
>>> p[0]
'f'
>>> p[1]
'o'
>>> p[3]
'\x00'
Có một cái nhìn tại ctypes documentation để tìm hiểu thêm về việc sử dụng con trỏ.
CẬP NHẬT: Dường như đó không phải là những gì bạn cần. Hãy thử, sau đó, hãy thử một cách tiếp cận khác: đầu tiên bỏ con trỏ để void, increment nó và sau đó cast nó trở lại LP_c_char:
In [93]: p = ctypes.cast("foo", ctypes.POINTER(ctypes.c_char))
In [94]: void_p = ctypes.cast(p, ctypes.c_voidp).value+1
In [95]: p = ctypes.cast(void_p, ctypes.POINTER(ctypes.c_char))
In [96]: p.contents
Out[96]: c_char('o')
Có lẽ nó không thanh lịch nhưng nó hoạt động.
Nguồn
2011-07-14 12:30:54
Đây không phải là luôn luôn là một ý tưởng nóng như vậy trong C; để thấy ai đó muốn áp dụng nó cho Python làm tôi sợ một chút. –