Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Python长整数转换为C字符数组_Python_C_Python C Api_Python C Extension - Fatal编程技术网

将Python长整数转换为C字符数组

将Python长整数转换为C字符数组,python,c,python-c-api,python-c-extension,Python,C,Python C Api,Python C Extension,我正在使用Python/C API,希望C函数获取Python长整型参数nPyLong,并将其转换为以10为基数的字符数组nString。下面是我想做的一个片段 PyObject *nPyLong; PyArg_ParseTuple(args, "O", nPyLong); PyLong_Check(nPyLong) // returns true const char *nString; // This function doesn't exist but demonstrates the

我正在使用Python/C API,希望C函数获取Python长整型参数nPyLong,并将其转换为以10为基数的字符数组nString。下面是我想做的一个片段

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参考中提到了一个函数,它可以在给定任意基的情况下将C字符数组转换为Python长整数,但我找不到一个函数可以实现相反的操作


这可能吗?一种方法是将Python长整数转换为Python字符串对象,然后转换为C字符数组,但是也没有字符串函数来处理长整数。似乎C处理Python长整数的唯一方法是转换为C整数类型,所有这些类型都会在我的应用程序中溢出。

使用(或
PyObject\u Bytes()
)并将结果对象转换为
char*

哇,这比我想象的要容易得多。它甚至不返回后缀“L”!