IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaçage autre langage Python Discussion :

Ctypes et chaine de caracteres


Sujet :

Interfaçage autre langage Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ctypes et chaine de caracteres
    Bonjour
    Je dialogue avec une dll a l'aide de ctypes. il s'agit de fournir une liste d'adresse IP (2 dans ce cas) à la fonction de la dll
    D'aprés la doc la fonction de la dll demande une chaine de caractères de la forme :
    192.168.0.10/0 192.168.0.11/0
    Voila une partie de mon code :
    Voila ce que j'ai fait mais qui ne marche pas :

    IP1=ctypes.c_char("192.168.0.10)
    IP2=ctypes.c_char("192.168.0.11)

    IPs=[IP1, IP2]
    IPS_c=ctypes.char_p*lens(IPs)
    IPS_c[:]=IPs
    IPS_c=byref(IPS_C)
    MyDLL.Myfct(IPS_C)

    Si je rentre seulement un adresse IP : (MyDLL.Myfct(IP1) ) ca marche
    Une idée ?
    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Et si tu les joins d'abord, en python, sous la forme demandée avant de convertir ta chaîne.

    Je pense à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IP = " ".join([ip1, ip2])

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Et ceci ne suffit pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyDLL.Myfct.argtypes=(c_char_p,)
    MyDLL.Myfct("192.168.0.10/0 192.168.0.11/0")
    Je trouve ces longueurs de préfixes de 0 un peu bizarres, mais c'est un autre problème.

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. Réponses: 13
    Dernier message: 13/06/2003, 14h13
  3. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58
  4. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo