2010-10-06 121 views
9

从cython使用C++标准std :: string的最佳方式是什么?最后一个cython发行版本应该很容易,但我想知道为什么有std :: vector的包装,而不是std :: string ...Cython C++和std :: string

回答

11

用Cython 0.16 includes wrappers for std::string,可与进口:

from libcpp.string cimport string 
+1

这似乎好多了。 – dsign 2012-08-14 15:58:52

+0

似乎我在OSX上使用Cython 0.16进行声明与Linux上的Cython 0.17不兼容,使用OSX我无法将'string'转换为Python对象 – linello 2012-10-24 20:45:53

8

糟糕,这个问题已经在这里挂了几天了。最后,我做到了这一点:

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

这不是一个完整的解决方案,但它仍然做的事情。

+0

我想补充的字符串(字符*)也。这让你前进和后退到Python字符串。 – meawoppl 2013-01-07 19:11:51