, я в настоящее время привязываю все свои классы движка C ++ к python для создания сценариев игры. Последняя проблема заключается в том, что когда вы, скажем, превращаете переменную в скрипт в строку типа
string = 'hello world'
, это становится PyUnicodeObject. Затем мы хотим вызвать функцию для этого объекта в сценарии из связанной функции стороны C. PrintToLog (string), в качестве примера, позволяет сказать, что эта c-функция такая же
void PrintToLog( const char * thisString )
{
//file IO stuff as expected
myLog << thisString;
//more stuff involving fileIO
}
Итак, моя привязка должна извлечь char * из PyUnicodeObject, который сначала будет передан питоном моему универсальному обработчику функции, который, в свою очередь, извлечет и скроет объекты pyobject в соответствующий тип c-стороны и передаст его моей функции.
Единственная функция, которую я могу найти, извлекает wchar_t * ... Есть ли способ получить представление ascii, поскольку мы будем использовать только набор символов ascii.
РЕДАКТИРОВАТЬ: Я использую Python 3.2, где все строки являются unicode