在Python中设置c_char_p

2024-09-30 14:37:05 发布

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

在C头文件中我有:

long test_API callAndSave(   
    ___OUT_ char param1[31], 
    ___OUT_ char param2[5], 
    ___OUT_ char param3[21], 
    ___OUT_ char* pointerParam
    );

我试图设置并传递Python中的所有参数,并将它们传递给callAndSave

^{pr2}$

但是我得到了“output parameter is NULL”错误,pointerParam。我应该如何在Python中正确定义“___OUT_ char* pointerParam”?在


Tags: testapioutput参数parameter头文件outlong
1条回答
网友
1楼 · 发布于 2024-09-30 14:37:05
___OUT_ char* pointerParam

规范中的___OUT_通常意味着该指针将有数据写入其中。所以你必须分配一个缓冲区来写。ctypes.c_char_p()不生成缓冲区-它只是一个空指针。在

查看^{}。你必须弄清楚callAndSave期望的缓冲区有多大。在

相关问题 更多 >