C++ - Python :PyString_AS_STRING
Bonjour,
Je dois utiliser python via un code C++.
J ai un script Python que j execute via du C++, et qui me retourne une string.
Seulement voila , les 8 premiers caracteres sont coupes.
Mon Script Python:
Code:
1 2 3 4 5
|
def testDVS(Parameter1=False,Parameter2="HELLO"):
print Parameter1
resXML = "Hello,Allons enfant de la patrie, le jour de gloire est arrive ... Mais il sont ou, mais ils sont ou"
return resXML |
Mon Code C++:
Code:
1 2 3 4 5 6 7 8 9 10
|
std::string execute = string(CodePython: voir plus haut)
PyRun_SimpleString(execute.c_str());
PyObject * module = PyImport_AddModule("__main__");
PyObject * dictionary = PyModule_GetDict(module); // borrowed reference
PyObject * result = PyDict_GetItemString(dictionary, strPythonResult.c_str());
PyString_Check(result);
char* resultFromPy = PyString_AS_STRING(result);
Py_ssize_t sizeTmp = PyString_Size(result);//OK
std::string res(resultFromPy); //NOK manque 8 premiers caractere |
Si quelqu un a une idee ?