次のコードでは、2つのnullで終了するC文字列(charポインター)を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┴
タプル内の文字列と外部の文字列が異なるのはなぜですか?私は何が間違っているのですか?また、このタプルの参照カウントのインクリメントとデクリメントについて心配する必要がありますか?(CにPyObject *として渡されるPython関数に渡すために作成しています)