J'ai un peu honte de vous demander ça car mon problème me paraissait débile mais je n'arrive toujours pas à le résoudre -_-
J'ai un liste que je dois passer en arguments à une fonction C (via ctypes). Jusque là rien de méchant me direz-vous.
Le problème c'est que pour envoyer une liste de doubles il faut créer un tampon dans lequel on va ller assigner nos valeurs.
maListe = [1.0,2.0,3.0]
monTampon = c_double * len(maListe)
#On cherche x = monTampon(1.0,2.0,3.0)
x = monTampon(maListe) #Ne marche pas
x = monTampon(tuple(maListe)) #Non plus
x = monTampon(z for z in maListe) #Et ... Non plus
Si quelqu'un a une autre idée :/ J'ai l'impression que c'est un truc tout con ... mais quoi ?
OpenClassrooms retire tellement d'aiguilles de nos pieds qu'on pourrait ne plus trouver le foin de notre botte :)
#Lors de la creation de ma liste j'ai tente:
monTampon = c_double * len(mesElements*3)
monTuple = monTampon()
for x in mesElements:
monTuple += x[0]
monTuple += x[1]
monTuple += x[2]
# NE MARCHE PAS NON PLUS
- Edité par IQbrod 19 mai 2015 à 15:35:45
OpenClassrooms retire tellement d'aiguilles de nos pieds qu'on pourrait ne plus trouver le foin de notre botte :)
monTampon = c_double * (len(mesElements)*3)
maListe = monTampon()
i=0
for element in mesElements:
maListe[i*3+0] = element[0]
maListe[i*3+1] = element[1]
maListe[i*3+2] = element[2]
i+=1
maFunctionC(maListe,len(maListe))
OpenClassrooms retire tellement d'aiguilles de nos pieds qu'on pourrait ne plus trouver le foin de notre botte :)
Contenu de Liste
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.