关于python调用C库时传入 char* 或者为unsigned char *参数 并带回值的方案

    科技2026-09-29  11

    本文主要讲述python调用c库时的传入参数为: char* 或者为unsigned char *的情况。

    1、传入参数为char*类型时

    # 声明一个传入参数 return_value = create_string_buffer(''.encode(), 20) # 调用相关C库的函数 # ret 为函数的返回值 # return_value 将带回处理函数过程中对其的赋值 ret = lib_example.hello(return_value) # 需要解码的话进行解码 value = return_value.decode() # 利用for循环打印传出值 for i in value: print(i)

    2、传入参数为unsigned char * 时

    # 声明一个传入参数 return_value = (c_ubyte * 20)() # 调用相关C库的函数 # ret 为函数的返回值 # return_value 将带回处理函数过程中对其的赋值 ret = lib_example.hello(return_value) # 利用for循环打印传出值 for i in return_value: print(i)

    另:返回值为BOOL类型的还没有搞定,知道的大佬可以在下面留言解决方案

    Processed: 0.008, SQL: 9