最近在尝试将 python 中的一个字符串传到 c++ 中。c++ 中被调用的函数定义如下:
const char* great_function(const char * af_str_)
一开始在 python 中用如下命令传字符串:
ret = mydll.solver('abcdefg')
测试发现 c++ 中只能够收到首字符 ‘a’,其他的字符都丢失了。
后来发现上述 python 代码有问题,要想传整个字符串得用如下命令:
ret = mydll.solver(b'abcdefg')
b 表示字节串,也就是一系列的字节。
再在 c++ 测试就得到了整个字符串。