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 :

Acceder a une Struct en extern


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Par défaut Acceder a une Struct en extern
    Bonjours a tous,

    Voila mon souci:

    J'ai declaré dans mon .h un structure du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    struct Record
    { 
    	char A[20];
    	char AB[20];
    	char ABC[20];
    };
    Dans le void Main je "realloc" cette structure a un tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Record*Tab= new Record[Max]; // Max étant définie par un calcul. 
    //Il peut donc changer a chaque lancement du programme
    Mon probleme est que j'aimerais acceder et donc modifier les données a l'interieur du tableau depuis plussieur autre fonction ou void example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Void Modif(?)
    {
    Tab[i].A[0]='\0';
    }
    Pour le moment je n'arrive pas a modifier ou accéder a se tab depuis les autres fonction.

    Merci d'avance pour vos Reponse

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut, et bienvenue sur le forum...

    La solution à ton problème consiste dans le fait de passer un ... pointeur de type Record comme paramètre à ta fonction.

    Cependant, je ne peux m'empêcher de te donner quelques conseils:
    1. Préfères en tout état de cause la classe std::string à une chaine "C style" (un tableau de caractères terminé par un '\0')... Cette classe est beaucoup plus simple et sécurisante à utiliser
    2. De la même manière, il est possible de gérer des collections d'objet (et un tableau de Record (dans ton exemple) n'est jamais qu'une collection d'objets ) avec une série de conteneur (que tu peux choisir à l'aide du diagramme représenté sur cette entrée de la faq) qui sont - eux aussi - bien plus sécurisants et faciles à l'emploi que la solution C correspondante qui joue avec des pointeurs et la gestion dynamique de la mémoire

    La chose à laquelle il faudra penser si tu décide de suivre ces conseils, c'est que le passage de classes en argument se fait le plus souvent sous la forme de références (si on envisage de modifier le contenu de la classe) ou de référence constante (si les seuls acces envisagés sont de l'ordre des accès en "lecture")
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Acceder à un pointeur tableau dans une struct
    Par france38 dans le forum Débuter
    Réponses: 1
    Dernier message: 25/09/2011, 22h19
  2. Réponses: 15
    Dernier message: 12/09/2007, 11h19
  3. Réponses: 3
    Dernier message: 12/10/2005, 09h23
  4. acceder a une base de données acces
    Par kazijhon dans le forum MFC
    Réponses: 6
    Dernier message: 13/07/2004, 08h52
  5. Accéder à une partition HPFS
    Par Krashtest dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 14/11/2003, 10h16

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