0
私はPython/C APIを使用しており、Pythonのlong整数引数nPyLong
を使用し、それをchar配列、nString
(基数10)に変換したいと考えています。私がしたいことのスニペットです。Python long integerをCのchar配列に変換する
PyObject *nPyLong;
PyArg_ParseTuple(args, "O", nPyLong);
PyLong_Check(nPyLong) // returns true
const char *nString;
// This function doesn't exist but demonstrates the functionality
PyLong_AsCharArray(&nString, nPyLong, 10);
APIリファレンスは任意の塩基所与Pythonの長整数のC文字列を、変換関数PyObject* PyLong_FromString(char *str, char **pend, int base)
に言及したが、私は逆を行う機能を見つけることができません。
これは可能ですか? 1つのアイデアは、Pythonの長い整数をPythonの文字列オブジェクトに変換してからCのchar配列に変換することですが、long intを処理する文字列関数もありません。 CでPythonのlong intを扱う唯一の方法は、Cのint型に変換することです。すべてがアプリケーションでオーバーフローします。
うわー、これは私が思ったよりずっと簡単です。そしてそれは接尾辞 'L'を返さない! – Vortico