我有function(char* filename,int run)
的dll驱动程序。我使用像
import ctypes as ct
mydll = ct.cdll.LoadLibrary(dll_file_path)
function = mydll.function
function.argtypes=(ct.POINTER(ct.c_char_p),ct.c_int)
function.restype=ct.c_int
filename=b'C:\\Users\\data.dat'
function(ct.c_char_p(filename),100)
我在网上阅读,有些人说最好使用ct.create_string_buffer
。我不知道如何使用它。我在ct.POINTER(ct.c_char_p)
时收到错误。我的问题是在ctypes中传递文件路径/名称的正确方法是什么,如果ct.creat_string_buffer
是正确的方式,我该如何更改function.argtypes
?