【发布时间】:2012-03-27 19:10:06
【问题描述】:
如何从指向字符串的 PyObject 中获取 char*。比如这是python脚本,
Test.Connect("272.22.20.65", 1234)
这是 C++ 代码,
static PyObject* Connect(PyObject *self, PyObject *args)
{
PyObject* pIP;
PyObject* pPort;
if (!PyArg_UnpackTuple(args, "Connect", 2, 2, &pIP, &pPort))
{
return NULL;
}
const char* zIP = GetAsString(pIP);
long iPort = PyLong_AsLong(pPort);
我想将该 IP 地址作为 char* 获取(GetAsString 是一个虚拟函数 :D )。请注意,我使用的是 Python 3.1。
附: 我认为this 的问题没有得到正确答案, 因为 Python 3 中没有 PyStringObject 或 PyString_AsString。不是吗?
【问题讨论】:
-
@Sven Marnach。它是海峡。但是没有办法从 PyUnicode_* 获取 char*。我错了吗?
-
大声笑...斯文·马纳赫在哪里?当我回复你时,你的评论不见了
标签: python python-3.x python-c-api