[英]Convert std::string to PyObject in C++ in Python3
我正在尝试将std::string to PyObject
转换std::string to PyObject
。
std::string st = jsp.updateRoot(people, people);
PyObject* pValue = PyBytes_AsString(st);
使用上述方法不起作用。
我该如何转换?
来自文档:
char* PyBytes_AsString(PyObject *o)
返回指向 o 内容的指针。 指针指向o的内部缓冲区,由len(o)+1个字节组成。 缓冲区中的最后一个字节始终为空,无论是否有任何其他空字节。 不得以任何方式修改数据,除非该对象刚刚使用 PyBytes_FromStringAndSize(NULL, size) 创建。 它不能被解除分配。 如果 o 根本不是字节对象,则 PyBytes_AsString() 返回 NULL 并引发 TypeError。
在 OP 的情况下,这是错误的方向。
相反转换的函数是
PyObject* PyBytes_FromString(const char *v)
返回值:新引用。
返回一个新的字节对象,其中包含字符串 v 的副本作为成功时的值,失败时返回 NULL。 参数 v 不能为 NULL; 它不会被检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.