Bonjour,

je travaille actuellement dans un projet et j'aurai besoin de lire la valeur definit dans une macro.
Cependant la macro change en fonction des arguments de ma fonction.
Je cherche donc a lire la macro definit dans une variable.

Un petit exemple pour bien me faire comprendre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
#define macro1 "macro def 1"
#define macro2 "macro def 2"
#define macro3 "macro def 3"
#define macro4 "macro def 4"
#define macro5 "macro def 5"
 
void function(int number){
  char format[20];
  sprintf(format,"macro%i",number);
 
   /* c'est la que j'ai besoin de lire la valeur associee a la macro definie dans format*/
  other_function(eval(format));
 
}
Je cherche donc a remplacer eval par une fonction qui doit bien exister en C.

J'ai simplifier un peu l'exemple dans mon cas, j'ai 2 elements variables qui definissent la macro.
Je cherche un moyen d'eviter une serie de if qui me semble lourde

Merci de votre aide

L'elfe d'Azur