0
我寫一個C DLL的輸入,功能和它下面的Python腳本:ctypes的c_char_p在蟒蛇
//test.c
__declspec(dllexport) HRESULT datafromfile(char * filename)
{
HRESULT errorCode = S_FALSE;
if (pFileName == NULL)
{
return E_INVALIDARG;
}
FILE *fp = NULL;
fopen_s(&fp, pFileName, "rb");
if (fp == NULL)
return E_FAIL;
some more lines of code are there....
是我寫的python腳本如下:
//test.py
import sys
import ctypes
from ctypes import *
def datafromfile(self,FileName):
self.mydll=CDLL('test.dll')
self.mydll.datafromfile.argtypes = [c_char_p]
self.mydll.datafromfile.restypes = HRESULT
self.mydll.datafromfile(FileName)
雖然調用我作爲指定文件名主:
FileName = 'abcd.EDID'
datafromfile(FileName)
但代碼給了一個錯誤時,Windows Error: Unspecified Error
。 任何人可以幫助我在如何將c_char_p
傳遞給函數如上圖所示?