char **

Gabriel Genellina gagsl-py2 en yahoo.com.ar
Jue Mar 29 01:30:42 CEST 2007


En Wed, 28 Mar 2007 19:37:57 -0300, Rafael Rodríguez Puente  
<rafaelrp en uci.cu> escribió:

> Gracias por la aclaración, precisamente eso ultimo es lo que he estado
> buscando y encuentro como hacerlo.
> On Wed, 2007-03-28 at 17:06 -0300, Gabriel Genellina wrote:
>> En Wed, 28 Mar 2007 14:20:52 -0300, Rafael Rodríguez Puente
>> <rafaelrp en uci.cu> escribió:
>>
>> >  Alguien sabe como invocar una función de un modulo implementado en c
>> > desde python, y esta función recibe como parametros dos variables de
>> > tipo char**.
>>
>> Yo usaria ctypes (que ya esta incluido en Python 2.5), pero la forma de
>> pasarle un char** depende del uso que se le dé. Si eso significa "te  
>> voy a
>> devolver un char*, asi que pasame un puntero a una variable char* para  
>> que
>> pueda escribir el resultado" se pondria como byref c_char_p.
>> Pero tambien puede usarse para pasarle el comienzo de un array cuyos
>> elementos son char*, y eso es diferente.

Entonces sería algo así:

py> from ctypes import *
py> arraycharp3 = c_char_p * 3
py> x = arraycharp3("hola","que","tal")
py> x
<__main__.c_char_p_Array_3 object at 0x00AD34E0>
py> x[1]
'que'

-- 
Gabriel Genellina

porque no respeta el orden natural en el que se leen las cosas
> ¿por qué top-posting es tan molesto?
>> top-posting
>>> ¿cuál es la peor molestia en los emails de respuesta?

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es