【发布时间】:2015-09-08 03:33:26
【问题描述】:
问题
如何使用来自 Cython 的 c++ 流(如 std::ifstream 或 ostream)?在 c++ 中,您可以执行以下操作:
std::ofstream output { filename, std::ios::binary };
output.write(...);
您将如何在 Cython 中实现同样的目标?
当前状态
我已经在 Cython 中包装了 fstream 中的结构,以便我可以在函数声明中使用它们的名称,但棘手的部分是使用(也许是在 Cython 中包装)write 方法并创建流。我在网上没有找到任何代码示例。
附: 我知道一个可能的答案是只使用 Python 的 IO,但我需要将流传入和传出我正在与之交互的 C++ 代码。
这是包装流声明的代码:
cdef extern from "<iostream>" namespace "std":
cdef cppclass basic_istream[T]:
pass
cdef cppclass basic_ostream[T]:
pass
ctypedef basic_istream[char] istream
ctypedef basic_ostream[char] ostream
【问题讨论】:
标签: python c++ io stream cython