我有以下的C语言结构:
struct wordSynonym
{
wchar_t* word;
char** synonyms;
int numSynonyms;
};
struct wordList
{
wordSynonym* wordSynonyms;
int numWords;
};
我有以下Python代码:
class wordSynonym(Structure):
_fields_ = [ ("word", c_wchar_p),
("synonyms", POINTER(c_char_p)), # Is this correct?
("numSynonyms", c_int) ];
class WordList(Structure):
_fields_ = [ ("wordSynonyms", POINTER(wordSynonym)),
("numWords", c_int)];
在Python中,正确引用 char**
的方法是什么?也就是说,在Python代码中,POINTER(c_char_p)
是正确的吗?
c_char_p('sp \ x00am').value == 'sp'
和(c_char * 5).from_buffer_copy('sp \ x00am').raw == 'sp \ x00am'
。它还具有“value”属性,该属性返回到第一个NULL的字符串(否则整个数组)。 - Eryk Sun