Ich habe eine schriftliche eine DLL, in dem ich einen der Wege bekommen:Wie kann ich mit Ctypes auf den Zeichenzeiger zugreifen?
//demo.h
__declspec(dllexport) void pathinfo(char * path);
Etwas im Code getan wird, diesen Weg zu bekommen. wie gezeigt Und nun wird der Python-Skript, das ich geschrieben habe, von der DLL diesen Weg abrufen:
//demo.py
import sys
import ctypes
from ctypes import *
class demo(object):
def __init__(self):
self.demoDLL=CDLL("demo.dll")
def pathinfo(self):
path=c_char()
self.demoDLL.pathinfo.argtypes(POINTER(c_char))
self.demoDLL.pathinfo.result=None
self.demoDLL.pathinfo(byref(path))
return path.value
if __name__=='__main__':
abc=demo()
path_info=abc.pathinfo()
print "information of the path:",path_info
Aber der Wert, ich bin in der Lage zu sehen, ist nur das erste Zeichen des Weges statt dem ganze Saite.
Kann mir jemand bei diesem Problem helfen?
Dies hat nicht funktioniert .. – user6730734