Mandras
Messages postés10Date d'inscriptiondimanche 9 novembre 2008StatutMembreDernière intervention 1 novembre 2015
-
21 juil. 2013 à 22:36
Utilisateur anonyme -
22 juil. 2013 à 10:52
Bonjour,
Voila, un probleme assez simple de comprehension mais j'admet etre carrement bloque !
J'ai un enum qui possede de nombreuses lignes, voila un exemple :
enum {SIG1, SIG2, SIG3, ...};
Jusque la ok !
Sauf que, chaque ligne de cet enum determine en fait un signal client / server (donc tres important)
Et il y a une bonne cinquantaine de signaux differents.
Maintenant j'aimerai loguer ces signaux (donc ecriture dans un fichier de log)
Vous admettrez que, je ne peu pas loguer :
receive signal: 21
Il est preferable de loguer par exemple :
receive signal: SIG1
( Bon certe SIG1 c'est pas plus parlant mais la c'est un exemple )
Alors voila, la question est simple : COMMENT FAIRE ?
Sachant que je veu un truc propre, si possible avec une seule instantiation ... par exemple :
2 - Doit etre fais dans une fonction ... hors, je souhaiterai l'instantier (ou plutot le definir) dans un fichier header (.hpp) !
Voila !
Si vous avez la reponse je vous remercie d'avance ... car je suis totalement bloque et je commence a saturer sur ce probleme la !
PS : pardonnez le manque total d'accent, je suis sur un clavier USA.
PPS : Si vous avez la solution pour un char * au lieu d'une string je suis preneur
Hello,
Je ne pense pas que tu puisses faire autrement qu'avoir un enum et une map (ou autre collection). Par contre, tu n'es pas obligé "d'utiliser une fonction", tu peux très bien l'initialiser de manière statique, toutes les données étant connues au compil time
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3) Exemple 2: http://www.codeproject.com/Articles/10500/Converting-C-enums-to-strings Dans cet exemple, il met un enum par fichier. Le fichier est inclus deux fois. Une fois pour créer l'enum, une fois pour créer les string associés. Au final, c'est exactement la même chose que mon exemple 1, mais en plus générique. À utiliser si tu as plus d'un enum dans ton code de ce genre. Sinon l'exemple 1 est plus adapté.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question