Nathaniel Hayes wrote:
On Tue, Oct 20, 2009 at 12:12 PM, MRAB <[email protected] <mailto:[email protected]>> wrote:The digits in that pointer value look suspiciously like the character codes of a string rather than an actual address: >>> "\x42\x71\x61\x44" 'BqaD' It looks like the first 4 characters of a string starting 'DaqB' are being used as a string pointer on a little-endian platform. I am really at a loss here, so any insight at all would be great. Something odd though, is that when I pass just c_char_p instead of an array of c_char_p, I receive the one device I have installed on this computer, and it works great. However, when I make an array of just one item, I get these odd errors.Well, the name of the device is DaqBoard2K, so thats where the DaqB is coming from. That means that the function worked, but I can seem to get the information in a usable format. I'm not well versed in C or anything low level like that, so not really sure what is going behind the scenes. I have seen (c_char_p*4)() would make an iterable ctypes array of 4 c_char_p variables, but it seems like the address to the string has been overwritten by the string itself?
What does the documentation of the C API actually say? What does the parameter list of the C function look like? -- http://mail.python.org/mailman/listinfo/python-list
