如何從指向字符串的PyObject獲取char *。例如,這是python腳本,如何從指向字符串的PyObject獲取char *
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。
P.S. 我不認爲this問題得到了正確答案, ,因爲沒有PyStringObject或PyString_AsString在Python 3中。不是嗎?
@Sven Marnach。它是str。但是沒有辦法從PyUnicode_ *獲取char *。我錯了嗎 ? – Morpheus 2012-03-27 19:41:30
哈哈... Sven Marnach在哪裏?當我回復您時,您的評論缺失 – Morpheus 2012-03-27 19:43:38