1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
/* Interfaçage de la fonction Set */
static PyObject * StringStreamPython_Set(PyObject * self, PyObject *args) {
char* cstr;
// Parsing des arguments
if(!PyArg_ParseTuple(args, "s", &cstr))
return NULL;
const std::string str = cstr;
((StringStreamPython*)self)->obj->Set(str);
/* le paramètre de la fonction Set était passé par référence,
il est donc possible qu'il ait été modifié, on affecte donc
la chaîne str à la chaîne Python passée en argument */
//char* cstr2 = (char*)str.c_str();
// Pour tester, mais la chaîne passé dans Python n'est quand
// même pas modifiée
char* cstr2 = "aa";
/* args est un Tuple Python */
PyObject* elem = PyTuple_GetItem(args, 0);
elem = Py_BuildValue("s", (const char*)cstr2);
Py_INCREF(Py_None);
return Py_None;
} |