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

  FORUM HardWare.fr
  Programmation
  C

  [C] Conversion type énuméré en string pour affichage :

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Conversion type énuméré en string pour affichage :

n°2159484
ocelotsnip​e
Posté le 07-10-2012 à 22:40:09  profilanswer
 

Bonsoir !
 
Je travaille actuellement sur un projet en C et j'ai une petite question pour pour voir afficher un type énuméré. Rapidement ce que j'utilise, pourquoi et ce que je veux en faire :
 

Code :
  1. typedef enum {VAL_COMMENTAIRE,VAL_SYMBOLE,VAL_DEUX_PTS,VAL_DIRECTIVE,VAL_DECIMAL,VAL_REGISTRE,VAL_VIRGULE,VAL_HEXA,VAL_OCTA,VAL_PAR_OUV,VAL_PAR_FERM,VAL_PLUS} TYPE ;
  2. typedef struct
  3. {
  4.  char* lexeme ;
  5.  TYPE Type ;
  6.  int ligne ;
  7. } MOT ;


 
Donc voila, j'énumere mes TYPE, j'ai cru comprendre qu'en réalité, chaque type était associé à un entier, dont VAL_COMMENTAIRE = 0, VAL_SYMBOLE =1 ...
Mon problème c'est que lorsque je fait un printf de m.Type (m étant un MOT) un peu plus loin dans mon programme, il me renvoi l'entier, et moi je voudrai afficher la string ! COmment faire ?!
 
J'ai instinctivement tenté ça mais ca ne lui plait pas trop trop :  

Code :
  1. char* traduit_types(int T) {
  2. char* types_string[] = { "VAL_COMMENTAIRE",
  3.        "VAL_SYMBOLE",
  4.        "VAL_DEUX_PTS",
  5.        "VAL_DIRECTIVE",
  6.        "VAL_DECIMAL",
  7.        "VAL_REGISTRE",
  8.        "VAL_VIRGULE",
  9.        "VAL_HEXA",
  10.        "VAL_OCTA",
  11.        "VAL_PAR_OUV",
  12.        "VAL_PAR_FERM",
  13.        "VAL_PLUS"
  14.                           };
  15.                          
  16.     if (T>-1 && T<12) {
  17.         return types_string[T]; }
  18.     return "erreur";
  19.    
  20. }
  21. void affiche ( MOT* m){
  22. char* type_aff = NULL
  23. type_aff= traduit_types(m->Type);
  24. printf("\n Lexeme :%s Type :%d Numero de ligne :%d  \n", m->lexeme,type_aff,m->ligne); }


 
SI vous avez une petite idée pour me débloquer ce serait super cool !  
 
Merci à tous.
 

mood
Publicité
Posté le 07-10-2012 à 22:40:09  profilanswer
 

n°2159517
breizhbugs
Posté le 08-10-2012 à 11:13:53  profilanswer
 

"J'ai instinctivement tenté ça mais ca ne lui plait pas trop trop :"
A qui ça ne plait pas trop et il a dit quoi?
Bref sois plus précis sur ce qui ne vas pas...


Message édité par breizhbugs le 08-10-2012 à 11:14:22

---------------
Seul Google le sait...

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

  [C] Conversion type énuméré en string pour affichage :

 

Sujets relatifs
programme C[C#] dataset ajouter une ligne depuis textbox
[RESOLU] ma variable qui change de type comme par magie[C/Ada] Traduction de C avec Ada de la bibliothèque portmidi.
[résolu] taper texte dans champs text et affichage dynamiqueCompilation fichier C et H
[RESOLU] socket inter-process C/PHP linuxsynchroniser affichage de publicité
Petit problème - langage Cbesoin d'aide-language C svp
Plus de sujets relatifs à : [C] Conversion type énuméré en string pour affichage :


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