在下面的代码中,我试图将两个以 null 结尾的 C 字符串(字符指针)打包到一个 Python 元组中。
printf("word1 = '%s', word2 = '%s'\n", words1->wordArray[i], words2->wordArray[i]);
cmpArgs = Py_BuildValue("ss", words1->wordArray[i], words2->wordArray[i]);
printf("%s\n", PyString_AsString(PyTuple_GetItem(cmpArgs, 0)));
这会产生如下输出:
word1 = '20', word2 = '20'
i┴
为什么元组中的字符串与外部的字符串不同?我究竟做错了什么?另外,我需要担心增加和减少这个元组的引用计数吗?(我正在创建它以传递给作为 PyObject* 传递给 C 的 Python 函数)