Recreating a char array from a pointer
buffinator
buffinator at mymail.com
Sat Feb 24 11:49:07 EST 2007
Oh, nice
Im running 2.4 but im gonna download it and give it a try then
Thanks!
Thomas Heller wrote:
> buffinator schrieb:
>> I have an application that has to send a string as a pointer to memory,
>> and then another one that has to retriece it and fetch the string.
>> Converting the string to an array and sending the pointer was easy
>>
>> import array
>> a=array.array("c","mytextgoeshere")
>> my_pointer = a.buffer_info()[0]
>>
>>
>> But then I tried to get the data back... and I just can't find out how.
>> I ended up writing a C module for this that works fine in linux, but
>> this application is meant for windows and I just can't get C-modules to
>> compiler there correctly since I suck at windows.
>>
>> The relevant code from the module is
>>
>> static PyObject *
>> pointrtostr_casttostr(PyObject *self, PyObject *args)
>> {
>> char *mystr;
>> long int p;
>>
>> if (!PyArg_ParseTuple(args, "l", &p))
>> return NULL;
>>
>> mystr = (char*)p;
>> return Py_BuildValue("s", mystr);
>> }
>>
>> My question is... can I do the above code in python without involving C
>> since it is quite a big hassle to have to go through the module building
>> in windows? :/
>
> You can use the ctypes package for this. It is in the standard library in Python 2.5,
> for older versions it is a separate download.
>
> Thomas
>
More information about the Python-list
mailing list