的数据类型应在此stringUpcase函数中使用我的DLL文件导入C DLL函数
void __cdecl stringUpcase(char IN_str[], char OUT_str[], int32_t len);
我在Python 3.6试图ctype.c_char_p和这个函数应该返回大写字符串“ HELO“在OUT_str变量中。
dl = ctypes.cdll.LoadLibrary("path/of/dll/file.dll")
IN_str = 'helo'
OUT_str = ''
IN_len = len(IN_str)
dl.stringUpcase.restype = ctypes.c_void_p
dl.stringUpcase.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int32]
dl.stringUpcase(IN_str, OUT_str, IN_len);
控制台错误输出
line 21, in <module>
dl.stringUpcase(IN_str, OUT_str, IN_len);
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type
感谢您的帮助,您可以提供。
'strCnt'或'stringUpcase'? – purplepsycho
对不起我的错误...它是** stringUpcase **函数 –