• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PythonでDLLからの戻り値で文字列の場合を正しく表示させたい)

PythonでDLLからの戻り値で文字列の場合を正しく表示させたい

このQ&Aのポイント
  • PythonでDLLからの戻り値で文字列の場合を正しく表示させたい方法について
  • VisualStudio2005でDLLを作成し、Python2.6のctypesモジュールを使ってPythonからC++のルーチンを呼び出す方法
  • __declspec(dllexport) unsigned char* __stdcall Test(const char *s, int n);とした場合、Pythonで戻り値を見るとint型の数値になる問題

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

http://www.python.jp/doc/2.5/lib/ctypes-return-types.html > デフォルトでは、関数はC intを返すと仮定されます。他の戻り値の型を指定するには、 関数オブジェクトのrestype属性に設定します。 とあります。 上のチュートリアルでも char *を戻り値に持つstrchrを例にしてますね。 lib.Test.restype= c_char_p s = lib.Test("abcdefghijk", 3) print s ではどうでしょうか。 そのDLLをPythonでしか使用しないのなら、下記のような方法でPythonのモジュールにするのも手です。 http://www.python.jp/doc/nightly/ext/ext.html http://www.python.jp/doc/nightly/api/api.html

関連するQ&A