0
私はC++ DLLライブラリを持っています。 1つの機能を以下に示します。ctypes、pythonを使用してC++関数に文字列パラメータを渡す方法
PythonでのDLLインポートは正しいです。
int _ParseLogin2Resp(const std::string& username,
const std::string& password,
char szErr[1024]);
実際、私は多くの方法でパラメータを渡しました。私はC++ std::string
とchar *
の違いを知っています。 c_char_p 1.Use
()と
username = ctypes.c_char_p("username")
_ParseLogin2Resp(ctypes.byref(username),...)
)(ByRefの2.Useのcreate_string_buffer()
username = ctypes.create_string_buffer("username")
_ParseLogin2Resp(username,...)
しかし、関数ERRORは
ユーザ名またはパスワードが返されます空の。
文字列パラメータを関数に渡すことができませんでした。
私の質問はです。
正しいパラメータを渡して関数を呼び出す可能性がありますか、関数を正しく動作させるためにDLLライブラリを書き直す必要がありますか?
char *を受け付けるc関数を記述します。この関数では、必要なcpp関数を呼び出します。 – neohope
正解!ありがとう〜 – ddming000