将Python long integer转换为C char数组

2024-05-19 12:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python/capi,希望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 long integer转换为Python字符串对象,然后转换为C char数组,但是也没有字符串函数来处理long int。似乎C处理Python长整型的唯一方法是转换成C int类型,所有这些类型都会在我的应用程序中溢出。在


Tags: 函数字符串类型参数数组字符事情long

热门问题