0
C++ DLL 라이브러리가 있습니다. 하나의 기능은 아래와 같습니다.ctypes, python을 사용하여 C++ 함수에 문자열 매개 변수를 전달하는 방법
파이썬에서의 DLL 가져 오기가 정확합니다.
int _ParseLogin2Resp(const std::string& username,
const std::string& password,
char szErr[1024]);
실제로 매개 변수를 전달하는 데 여러 가지 방법을 시도했습니다. C++ std::string
과 char *
의 차이점을 알고 있습니다. c_char_p (1. 한
)과하는 ByRef
()username = ctypes.c_char_p("username")
_ParseLogin2Resp(ctypes.byref(username),...)
구석 구석의 create_string_buffer()
username = ctypes.create_string_buffer("username")
_ParseLogin2Resp(username,...)
그러나 기능 오류가
사용자 이름을 반환 또는 암호가 빈.
그래서 문자열 매개 변수를 함수에 전달할 수있는 해결책을 찾지 못했습니다.
내 질문은
올바른 매개 변수를 전달하여 예상대로 함수를 호출 할 수 있습니까? 아니면 제대로 작동하도록 DLL 라이브러리를 다시 작성해야합니까?
char *를 허용하는 c 함수를 작성하고이 함수에서 필요한 cpp 함수를 호출하십시오. – neohope
맞음! 고마워 ~ – ddming000