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 :

Exporter an array of structs


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Exporter an array of structs
    Salut , j’ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    struct UserIdentity
    {
    char* name;
    int id;
    };
     
    std::map<std::string, int> g_UserIdentities = { { "Bob", 100 }, { "Jone", 101 },
                { "Alice", 102 }, { "Doe", 103 } };
     
    /*
    * Will be used in a DLL that will export UserIdentity struct
    * OUT _UserIdentity
    */
     
    void Ui_export(UserIdentity *_UserIdentity)
    {
    for (auto& t : g_UserIdentities)
        {
         _UserIdentity->name = t.first;
         _UserIdentity->id   = t.second;
        }
     
    }
    Donc svp comment exporter an array of UserIdentity dans Merçi.

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Le _UserIdentity me semble être un tableau qui doit être suffisamment grand pour contenir tous les user. Mais où est la taille max et comment indiquer le nombre d'élément effectivement mis dans _UserIdentity.
    Pour exporter par cette interface C, si on pose que la map<> g_UserIdentities n'est plus jamais modifiée serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void Ui_export( UserIdentity *_UserIdentity ) {
        size_t i{};
        for ( auto const& t : g_UserIdentities ) {
             _UserIdentity[i].name = t.first.c_str();  // à condition g_UserIdenties ne change plus (sinon à allouer dynamiquement)
             _UserIdentity[i].id = t.second;
            ++i;  // et comment transmettre le nombre i final?
        }
    }

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Février 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merçi , si on suppose que change comment on peux l’allouer dynamiquement .
    Et est votre implementation export an array of ?

    Et merçi encore une fois .

  4. #4
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Le problème est : que veut-on exporter?
    Une structure avec des char* n'est en aucun cas un objet C++ exportable (ça pointe sur quoi? ça doit être libéré ou pas?) J'ai ici supposé que la donnée est exportée vers un autre langage comme le C. Et dans ce cas ou bien la zone correspondant aux pointeurs transmis est garantie fixe, ou sinon il va falloir allouer dynamiquement et il va falloir fournir aussi un moyen de libération compatible avec l'interface.

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/09/2013, 21h45
  2. uniform struct array ?
    Par adtunum dans le forum OpenGL
    Réponses: 1
    Dernier message: 13/06/2010, 01h39
  3. [C++ -> C#] Struct et arrays
    Par Iván Y. dans le forum C++/CLI
    Réponses: 1
    Dernier message: 09/09/2009, 10h32
  4. Exporter données excel en un format array
    Par tikam75007 dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 16/04/2008, 16h16
  5. Réponses: 1
    Dernier message: 05/06/2007, 18h46

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