2011-02-17 47 views
0

我有以下舊的C代碼。Python與C庫接口 - 如何有一個空C指針

const char *c[3]; 
c[0] = "ABC"; 
c[1] = "EFG"; 
c[2] = 0; 
c_function(c); 

現在,我需要使用Python來調用舊的c函數。我有以下代碼。

c_names = (c_char_p * 3)() 
c_names[0] = "ABC"; 
c_names[1] = "EFG"; 
// c[2] = 0?? 
libc = CDLL("c_library.dll") 
libc.c_function(c_names) 

我可以知道什麼是c[2] = 0;的Python等價物嗎?

回答

2

None0都工作:

>>> import ctypes 
>>> x=ctypes.c_char_p(0) 
>>> x 
c_char_p(None) 
>>> x=ctypes.c_char_p(None) 
>>> x 
c_char_p(None)