我使用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引用提到了一个函数^{
这可能吗?一种想法是将Python long integer转换为Python字符串对象,然后转换为C char数组,但是也没有字符串函数来处理long int。似乎C处理Python长整型的唯一方法是转换成C int类型,所有这些类型都会在我的应用程序中溢出。在
使用^{} (或
PyObject_Bytes()
)并将结果对象转换为char*
。在相关问题 更多 >
编程相关推荐