私はバックエンドとしてC++を使ってctypesを扱っています。今、このような機能は、C++にあります:ctypes python std :: string
void HandleString(std::string something){
...
}
私のpythonからこの関数を呼び出す方法を疑問に思って - 何のctypeがない(明らかに文句を言わない仕事をc_char_p)この関数に文字列パラメータを送信するために...
どのように私はこの問題を解決し、CからPython文字列を渡し++(と*何かがないと選択肢であるcharにパラメータの変更)
PS私はこのような回避策を作成することができますすることができますか?
- はCにc_char_pとしてcharははstd ::文字列するに
- リターン文字列またはそのポインタを何とか*変換++機能を??? Pythonの文字列を送信します!最も簡単な方法は、薄いを書くことであるよう
回避策を講じる場合は、c_char_pを 'std :: string'に変換してすぐに' HandleString'を呼び出すC++関数に送信する方が理にかなっていますか?実際には、 'const char *'から 'std :: string'への暗黙的な変換があります。回避策関数は単に' HandleString'の引数式としてポインタを使うことができます。 'std :: string'をPythonに引き渡そうとしないでください。 –