2010-10-06 12 views
9

Qual è il modo migliore di utilizzare standard C++ std :: string da cython? L'ultima distribuzione di cython dovrebbe renderlo facile in ogni caso, ma mi chiedo perché ci sono wrapper per std :: vector e non per std :: string ...Cython C++ e std :: string

risposta

11

Cython 0.16 includes wrappers for std::string, che può essere importato con:

from libcpp.string cimport string 
+1

Sembra molto meglio. – dsign

+0

Sembra che la mia dichiarazione con Cython 0.16 su OSX non sia compatibile con Cython 0.17 su Linux, con OSX si ottiene 'Can not Convertire 'string' su oggetto Python' – linello

8

Oops, questa domanda è stata appesa qui per alcuni giorni. Alla fine l'ho fatto:

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

che non è una soluzione completa ma ancora fa la cosa.

+0

vorrei aggiungere stringa (char *) anche. Questo ti dà avanti e indietro da e verso le stringhe Python. – meawoppl