[英]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.