【发布时间】:2011-12-31 03:04:45
【问题描述】:
我在 SWIG 的 Python 中使用 C++ 函数,现在遇到了一个问题。 当我将 char * 从 C++ 传递给 Python 时,char * 会被 Python 截断。
例如:
example.h:
char * fun()
{
return "abc\0de";
}
现在在 Python 中,我们调用 例子.fun() 它只打印 “ABC” 代替 "abc\0de" '\0' 后面的数据被 Python 删除了。
我想从 C++ 中的 fun() 中获取所有字符(它是可以包含 '\0' 的二进制数据), 并感谢任何建议
【问题讨论】:
-
文档很好地涵盖了相反的情况(将二进制数据传递到 C/C++)。 (你的问题没有很好地涵盖AFAIK)。 swig.org/Doc3.0/Library.html#Library_nn10