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 :

std::vector<std::string> to (void*)


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2015
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : F�vrier 2015
    Messages : 23
    Par d�faut std::vector<std::string> to (void*)
    bonsoir , j'ai des valeurs enregistrer dans un vecteur
    std::vector<std::string>
    et j'ai besoin de les m�tres dans un buffer de type
    void*
    j'arrive pas a faire cette �tape.
    merci d'avance.

  2. #2
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    un "void*", c'est un monstre C, qui signifie "une adresse, mais sans type sous-jacent". Il est toujours sous-entendu: "Il va falloir une conversion bien sale pour en faire quelque chose".

    Tout d�pend donc de ce que ce void* est pr�cis�ment.
    Ca d�pend de la fonction qui l'utilise.

  3. #3
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de caf�
    Inscrit en
    Mai 2007
    Messages
    1 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Consommateur de caf�
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par d�faut
    Pour passer un std::vector<std::string> en void* il te faut v�rifier d�j� la porter de ton std::vector, ceci va d�finir si tu l'alloues sur le stack ou la pile ( new/delete ou pas)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void foo2(void* vector)
    {
        std::vector<std::string>* myVector = (std::vector<std::string>*)vector;
    }
    void foo()
    {
        std::vector<std::string> myVector;
        foo2((void*)&myVector);
    }
    Mais apr�s il faut bien comprendre que le void* tu l'utilises dans des cas tr�s pr�cis... Est-ce ton cas ici?

  4. #4
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de caf�
    Inscrit en
    Mai 2007
    Messages
    1 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Consommateur de caf�
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par d�faut
    L'important dans ton cas c'est de savoir comment est utilis� ton void* apr�s... Est-ce un tableau de chaine de caract�re fini pas un '\0'? ce qui en a l'air...
    Que sais tu exactement de ce que va faire ta fonction avec ton void* ensuite?

  5. #5
    Membre actif
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2015
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : F�vrier 2015
    Messages : 23
    Par d�faut
    je suis entrains de cr�er un dll pour un syst�me d'automatisation , donc pour faire les test n�cessaire pour assurer le bon fonctionnement je doit communiquer avec le Workflow donc j'ai besoin d'envoyer un buffer au Workflow avec le ZMQ et pour faire �a mon buffer doit �tre de type (const void*) or que les donn� que je veux envoyer sont de type (std::vector<std::string>) .

    zmq_send(void *s, const void *buf, size_t len, int flags);

  6. #6
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de caf�
    Inscrit en
    Mai 2007
    Messages
    1 048
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France

    Informations professionnelles :
    Activit� : Consommateur de caf�
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par d�faut
    Ce que je comprends au vu de la signature de ta fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    zmq_send(void *s, const void *buf, size_t len, int flags);
    Buf est une chaine de caract�re, len est la taille de ta chaine... Donc tu n'envois pas un std::vector<std::string> mais plut�t un std::string::c_str().
    Lie la documentation de ta fonction... (http://api.zeromq.org/3-3:zmq-send) il y a m�me des exemples sur cette page trouv� en 2 secondes sur google.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 19
    Dernier message: 29/09/2014, 17h12
  2. Cast d'un std::vector<T> -> std::vector<X>
    Par Dono_S dans le forum Langage
    R�ponses: 3
    Dernier message: 09/04/2012, 21h31
  3. std::list ou std::vector comme argument de template
    Par epsilon68 dans le forum C++
    R�ponses: 11
    Dernier message: 01/03/2011, 23h34
  4. [Tuto] Recherche de tutoriel sur std::list et std::vector
    Par pegase06 dans le forum SL & STL
    R�ponses: 27
    Dernier message: 24/07/2007, 16h23
  5. std::sort() sur std::vector()
    Par tut dans le forum SL & STL
    R�ponses: 20
    Dernier message: 05/01/2005, 19h15

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