Python读取c typedef stru

2024-09-30 02:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

从前面的问题继续,我已经尝试了ctypes、struct和nametuple,但仍然无法将数据取出。如果我把这个dll文件导入到我的c++程序中,我就能使它正常工作。如果有人能帮上忙,那会很有帮助的。非常感谢你!在

c++代码

printf("Number: %s\n", NET_DVR_PLATE_INFO().sLicense);

c代码

^{pr2}$

python代码

hcnetsdk = ctypes.windll.LoadLibrary(".\\HCNetSDK.dll")
class NET_DVR_PLATE_INFO(ctypes.Structure):
_fields_ = [
    ("byPlateType", ctypes.c_byte), 
    ("byColor", ctypes.c_byte), 
    ("byBright", ctypes.c_byte), 
    ("byLicenseLen", ctypes.c_byte),
    ("byEntireBelieve", ctypes.c_byte), #
    ("byRegion", ctypes.c_byte), 
    ("byCountry", ctypes.c_byte), 
    ("byArea", ctypes.c_byte), 
    ("byPlateSize", ctypes.c_byte), 
    ("byRes", ctypes.c_byte * 15), 
    ("sPlateCategory", ctypes.c_char * 8), 
    ("dwXmlLen", ctypes.c_short), 
    ("pXmlBuf", ctypes.c_char), 
    ("sLicense", ctypes.c_char * 16), 
    ("byBelieve", ctypes.c_byte * 16)]

def getPlateNumber():
    platenumber= NET_DVR_PLATE_INFO()
    y = hcnetsdk.platenumber.sLicense
    print(y)

我会接到一个错误电话

AttributeError: function 'platenumber' not found

Tags: 数据代码infonetbytectypesstructdll

热门问题