比较Python中的C指针

比较Python中的C指针,python,c,pointers,ffi,cffi,Python,C,Pointers,Ffi,Cffi,我正在寻找一种更简单的方法来比较python中两个C指针上的数据。我现在使用的方法是: import cffi ffi = cffi.FFI() def ref_char_p(char_p): arr = [] null_term = 0; while(char_p[null_term] != 0): null_term += 1 for x in range(0, null_term): arr.append(char_p[

我正在寻找一种更简单的方法来比较python中两个C指针上的数据。我现在使用的方法是:

import cffi

ffi = cffi.FFI()

def ref_char_p(char_p):
    arr = []
    null_term = 0;
    while(char_p[null_term] != 0):
        null_term += 1

    for x in range(0, null_term):
        arr.append(char_p[x])
    return arr

char_p = ffi.new("char[]", '\x41\x42\x43')
char_p2 = ffi.new("char[]", '\x41\x42\x43')

if(ref_char_p(char_p) == ref_char_p(char_p2)):
    print "equal"
else:
    print "not equal"
我有什么办法可以做得更接近:

if(char_p == char_p2):
    print "equal"

我已经阅读了cffi文档,但没有发现任何有希望的内容。

您可以使用
ffi.string()
将字符数组转换为字节对象:

ffi.string(char_p) == ffi.string(char_p2)

您可以使用
ffi.string()
将字符数组转换为字节对象:

ffi.string(char_p) == ffi.string(char_p2)

太神了这正是我想要的。非常感谢。太神了这正是我想要的。非常感谢。