Bonjour,


Voici mon problème:
Je défini plusieurs constantes avec des #define

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
#define CONST1   0x5
#define CONST2   0x10
#define CONST3   0x12
#define CONST4   (CONST1 + CONST2 - CONST3)
Je souhaiterais pouvoir transformer la valeur de la constante CONST4 en chaîne de caractère grâce aux macros suivantes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#define STR(s) #s
#define XSTR(s) STR(s)
Mais pour cela il faudrait que le précompilateur calcule la valeur de CONST4, chose qu'il ne fait pas quand j'utilise ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    char strConst4[20] = XSTR(CONST4);
Avec ce code, strConst4 contient la chaîne suivante "(CONST1 - CONST3 + CONST2)"...
Alors que je voudrais avoir "0x3".

Merci d'avance pour vos réponses

Alora