How Python can get binary data(char*) from C++ by SWIG?(Python 如何通过 SWIG 从 C++ 获取二进制数据(char*)?)
本文介绍了Python 如何通过 SWIG 从 C++ 获取二进制数据(char*)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 SWIG 的 Python 中使用 C++ 函数,现在遇到了一个问题.当我将 char * 从 C++ 传递给 Python 时,char * 会被 Python 截断.
I am using C++ functions in Python by SWIG,and I met a problem now. When I pass a char * from C++ to Python, the char * is truncted by Python.
例如:
example.h:
char * fun()
{
return "abc de";
}
现在在 Python 中,我们调用例子.fun()它只打印ABC"代替"abc de"' ' 后面的数据被 Python 删除了.
now in Python,we call example.fun() it only print "abc" instead of "abc de" the data behind ' ' is deleted by Python.
我想从 C++ 中的 fun() 中获取所有字符(它是可以包含 ' ' 的二进制数据),并感谢任何建议
I want to get all the chars(it is a binary data that can contains ' ') from fun() in C++, and any advise is appreciated
推荐答案
C/C++ 字符串以 NULL 结尾,这意味着第一个