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

C++ Discussion :

Probleme utilisation const void*


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Par défaut Probleme utilisation const void*
    Bonjour je dois utiliser une fonction de ce type dans mon programme:

    unsigned long ibwrt (int ud, const void *wrtbuf, size_t count)

    Pour cela je defini bien les parametres et variable de cette fonction. Mon probleme semble venir de const void *wrtbuf. Voici la maniere dont je le declare:

    const void *wrtbuf="DEFV"; DEV etant une commande

    Voici la maniere dont j"utilise la fonction:

    printf("Value of *IDN? : %p \n",&wrtbuf);
    function_ibwrt = ibwrt (device_descriptor, &wrtbuf, size_t_count);

    Je suis sence visualiser DEFV avec mon printf alors que ce n'est pas le cas, je visualise 7 valeurs hexa. D'ou peut venir le probleme ?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    %p dans un printf sert à afficher une adresse mémoire, non ? En l’occurrence celle de wrtbuf.
    Mais puisqu'on est sur un forum C++, pourquoi ne pas utiliser les équivalents C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <string>
    #include <iostream>
     
    // (...)
     
    // Ta commande, sous forme d'une std::string
    std::string wrtbuf("DEFV");
     
    // Affichage du contenu de wrtbuf
    std::cout << "Value of *IDN? : " << wrtbuf << std::endl;
     
    // Cast de wrtbuf et appel de ibwrt  
    unsigned long result = ibwrt (device_descriptor, (const void*)wrtbuf.c_str(), size_t_count);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Par défaut
    Cette methode me retourne une erreur:
    error C2664: 'ibwrt'*: impossible de convertir le paramètre 2 de 'const void *' en 'PVOID'

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    Si PVOID est un typedef de void*, alors essaie de supprimer le const à la dernière ligne.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2010
    Messages : 54
    Par défaut
    Merci beaucoup ! Maintenant cela fonctionne

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par cob59 Voir le message
    Si PVOID est un typedef de void*, alors essaie de supprimer le const à la dernière ligne.
    Citation Envoyé par mansgueg Voir le message
    Merci beaucoup ! Maintenant cela fonctionne
    bonne chance

Discussions similaires

  1. [DLL]Probleme utilisation DLL
    Par bubulle63 dans le forum Windows
    Réponses: 4
    Dernier message: 07/09/2006, 13h35
  2. probleme utilisation fonction split
    Par Lnmex dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/07/2006, 16h40
  3. probleme utilisation de iis
    Par seb833434 dans le forum IIS
    Réponses: 2
    Dernier message: 15/06/2006, 17h19
  4. Probleme utilisation d'Objets managé grace a gcroot
    Par pepefourras dans le forum MFC
    Réponses: 4
    Dernier message: 16/05/2006, 00h26
  5. Utilisation de void**
    Par KORTA dans le forum C
    Réponses: 6
    Dernier message: 05/09/2003, 19h52

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