Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
957 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Un moyen pratique d'accéder à une structure ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un moyen pratique d'accéder à une structure ?

n°1634167
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 30-10-2007 à 22:09:28  profilanswer
 

Hello, World!

 

Alors voici mon problème, que je vous expose de façon aussi concise que possible :

 

Je viens d'embaucher, et je suis en train de modifier un programme fait sous CVI/Labwindows (c'est du C pour l'instrumentation, par National Instrument).

 

Dans ce programme, j'ai une structure tableau qui contient 19 paramètre, dont un string, quatre "double" et et 14 "int".

 

J'ai donc ma variable TAB avec ses 19 champs :

 
Code :
  1. tableau TAB;
  2. TAB.champ1="nom";
  3. TAB.champ2=0.54;
  4. ...
  5. TAB.champ19=5;
 

arrive un moment dans mon programme où je veux mettre à jour tous les champs de TAB. J'ai les valeurs à mettre dedans bien rangèse dans un coin, et je peux y accéder facilement avec un boucle qui va bien.

 

Du coup, j'aimerais accéder à chacun de mes champs successivement dans une boucle, quelque chose du genre :

 
Code :
  1. for (i=0;i<=18;++)
  2. {TAB.champ"i"=valeur[i];}
 

Sauf que bien sur, écrit comme ça, ça marche pas. Est-ce que quelqu'un aurait une idée de la façon dont je pourrais faire marcher ça, ou alors est-ce que c'est plus simple d'assigner les 19 valeurs à la main ?

Message cité 1 fois
Message édité par hephaestos le 30-10-2007 à 22:10:04
mood
Publicité
Posté le 30-10-2007 à 22:09:28  profilanswer
 

n°1634271
Emmanuel D​elahaye
C is a sharp tool
Posté le 31-10-2007 à 02:54:26  profilanswer
 

hephaestos a écrit :

Dans ce programme, j'ai une structure tableau qui contient 19 paramètre, dont un string, quatre "double" et et 14 "int".
 
J'ai donc ma variable TAB avec ses 19 champs :
 

Code :
  1. tableau TAB;
  2. TAB.champ1="nom";
  3. TAB.champ2=0.54;
  4. ...
  5. TAB.champ19=5;


 
arrive un moment dans mon programme où je veux mettre à jour tous les champs de TAB. J'ai les valeurs à mettre dedans bien rangèse dans un coin, et je peux y accéder facilement avec un boucle qui va bien.
 
Du coup, j'aimerais accéder à chacun de mes champs successivement dans une boucle, quelque chose du genre :
 

Code :
  1. for (i=0;i<=18;++)
  2. {TAB.champ"i"=valeur[i];}


 
Sauf que bien sur, écrit comme ça, ça marche pas. Est-ce que quelqu'un aurait une idée de la façon dont je pourrais faire marcher ça, ou alors est-ce que c'est plus simple d'assigner les 19 valeurs à la main ?


Tu peux faire une tableau temporaire avec les adresses des éléments si ils sont du même type... Ce tableau ne sert qu'au traitement en boucle...
 
Mais si les éléments sont de même type, on est en droit de se demander pourquoi ce n'est pas un tableau dès le départ...
 
Si ils sont différents, tu peux utiliser une structure temporaire pour initialiser la structure d'un coup avec '='.  Dans ce cas là, il n'y a pas de boucle...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1634288
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 31-10-2007 à 07:59:59  profilanswer
 

Les éléments sont effectivement de type différents (un *char, quatre réels et 14 entiers).
 
Bon, finalement je vais m'écrire une procédure qui fait ça, c'est peut-être moche mais ça marche...
 
Sinon, vous avez un lien vers un guide du programmeur correct en c ? (je viens de me rappeler des mauvais souvenir de mallocs, après une rapide revue sur le net je réalise que j'ai fait vraiment nimp avec mes pointeurs de string...)

n°1634349
Emmanuel D​elahaye
C is a sharp tool
Posté le 31-10-2007 à 09:44:45  profilanswer
 

hephaestos a écrit :

Les éléments sont effectivement de type différents (un *char, quatre réels et 14 entiers).

 

Bon, finalement je vais m'écrire une procédure qui fait ça, c'est peut-être moche mais ça marche...


C'est OK.

Citation :


Sinon, vous avez un lien vers un guide du programmeur correct en c ? (je viens de me rappeler des mauvais souvenir de mallocs, après une rapide revue sur le net je réalise que j'ai fait vraiment nimp avec mes pointeurs de string...)


Il y a pas mal d'éléments de cette nature sur mon site, notamment dans les sections 'Notes' et 'Codage'... N'hésite pas à montrer des morceaux de codes compilables que tu voudrais améliorer...


Message édité par Emmanuel Delahaye le 31-10-2007 à 09:47:05

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Un moyen pratique d'accéder à une structure ?

 

Sujets relatifs
[SQLserver 2005] Copier la structure complete d'une baseStructure d'execution
Structure des sous-dossiers avec chemin relatif au BATAcceder à une valeur présente dans un formulaire
Comment acceder a ces objets?Accéder au presse papier
probleme de structureaccéder a un lecteur reseau
structure de table[Access] Acceder à un champ à partir du formulaire précédent
Plus de sujets relatifs à : Un moyen pratique d'accéder à une structure ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR