2010-10-06 31 views
9

¿Cuál es la mejor manera de usar std :: string estándar de C++ desde cython? La última distribución de cython debería facilitarlo de todos modos, pero me pregunto por qué hay wrappers para std :: vector y no para std :: string ...Cython C++ y std :: string

Respuesta

11

Cython 0,16 includes wrappers for std::string, que puede ser importado con:

from libcpp.string cimport string 
+1

Eso parece mucho mejor. – dsign

+0

Parece que mi declaración con Cython 0.16 en OSX no es compatible con Cython 0.17 en Linux, con OSX obtengo 'No puedo convertir 'cadena' en objeto de Python' – linello

8

Vaya, esta pregunta lleva colgada aquí desde hace unos días. Al final hice esto:

cdef extern from "string" namespace "std": 
    cdef cppclass string: 
     char* c_str() 

que no es una solución completa pero todavía funciona.

+0

yo añadiría cadena (char *) también. Eso te permite avanzar y retroceder hacia y desde cadenas de Python. – meawoppl

Cuestiones relacionadas