Zurück tutorials.de > Programming > C/C++

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


4 kostenlose Bücher bei unserer Buch-Verschenkaktion 03/2010
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 23.11.09, 12:25   #1 (permalink)
HPB
Mitglied Gold
 
Registriert seit: Sep 2003
Beiträge: 175
Renommee-Modifikator: 14
HPB hat eine blütenweiße Weste

enum "Namen" ausgeben

Hallo,
ich habe ein enum, bspw.
enum X
{
constant1 = 1,
constant2 = 2,
...
}

Meine Anwendung schreibt ein trace file mit infos. Gibt es eine einfache Möglichkeit die
Namen statt der Werte auszugeben?

Bspw sollte im Trace "constant1" stehen statt "1", wenn ich constant1 in den output stream schreibe. Einen Helper, der intern ein mapping auf strings macht, finde ich nicht gut, weil man ihn jedesmal wieder anpssen muss (class outputEnum { ...if(value==1) return "constant1"; if(value==2) return "constant2),...}

Gruß,
Peter
  HPB ist offline  
 
Alt 23.11.09, 12:44   #2 (permalink)
Mitglied Diamant
 
Registriert seit: Jun 2005
Beiträge: 5.919
Renommee-Modifikator: 53
deepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiterdeepthroat ist berühmt wie kein Zweiter

AW: enum "Namen" ausgeben

Hi.
Zitat:
Zitat von HPB Beitrag anzeigen
Hallo,
ich habe ein enum, bspw.
enum X
{
constant1 = 1,
constant2 = 2,
...
}

Meine Anwendung schreibt ein trace file mit infos. Gibt es eine einfache Möglichkeit die
Namen statt der Werte auszugeben?
Nein, gibt es nicht. Nach der Kompilierung sind die ganzen Namen nur noch Schall und Rauch. Du könntest eine Lookuptabelle verwenden, ala
cpp Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
#define SYMBOL2NAME(e) { e, # e }
 
struct {
  X value;
  const char* name;
} tab_x2name[] = {
  SYMBOL2NAME(constant1),
  SYMBOL2NAME(constant2),
  ...
};
Gruß
__________________
.:Mitglied des 1. offiziellen Sven Uwe Fan-Clubs:.
  deepthroat ist gerade online  
 
Folgender User bedankt sich bei deepthroat:
HPB (23.11.09)
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
ENUM mit SWITCH "Jahreszeiten" Marsik Java Grundlagen 5 26.01.09 16:07
"static" Schlüsselwort bei einem Enum innerhalb einer Klasse? DarthShader Java 4 07.03.08 12:51
Eclipse und "org.apache.axis.enum" exitium Java 2 12.09.07 09:56
Anfängerproblem: "enum" und switch Gismo Java 2 23.01.05 14:36
Vorsicht beim "Enum-Pattern"! Thomas Darimont Java 0 21.12.04 11:57
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 138
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 265
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 154
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 104
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 195
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 80,61%
158 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 19,39%
38 Stimmen
Stimmen gesamt: 196
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,18232 Sekunden mit 26 queries