У меня есть объект PyUnicode, который я пытаюсь преобразовать обратно в строку C (char *).Как преобразование строк между строкой PyUnicode и строкой C?
То, как я пытаюсь это сделать, похоже, не работает. Вот мой код:
PyObject * objectCompName = PyTuple_GET_ITEM(compTuple, (Py_ssize_t) 0);
PyObject * ooCompName = PyUnicode_AsASCIIString(objectCompName);
char * compName = PyBytes_AsString(ooCompName);
Py_DECREF(ooCompName);
Есть ли другой/лучший способ, я должен это делать?
Определить, что «похоже, не работает». Вы получаете аварии? Результаты отличаются от того, что вы хотели? В любом случае, что именно? –
С какой версией Python вы работаете? –
@JohnBollinger это segfaults, когда он попадает сюда. Python 3. – ComputerLocus