0
dire que j'ai les suivantesComment faire pour transformer le nom d'une macro en chaîne littérale, lorsque la macro est dans un tableau struct?
#define STR(x) #x
#define ONE 1
#define TWO 2
typedef struct
{
int item;
char * name;
}bag_t;
bag_t my_bag[] =
{
{ONE, ""};
{TWO, ""};
}
Je veux ajouter le nom de la macro à la variable nom pour quelque chose comme ceci:
my_bag[1].name = STR(my_bag[1].item);
Cela ne fonctionne évidemment pas car il pas développé. Comment peut-on contourner cela?
une raison pour laquelle vous ne l'utilisez énumérations? Ensuite, la macro STR fonctionnerait comme vous le souhaitez. – Lundin
Ce que vous cherchez est le nom "X macros", parfois coupé. Il y a même un tag [tag: x-macros] pour le sujet. Je doute que toutes les questions sur les macros X aient été taguées, mais cela vous donne un point de départ. –