Hallöchen,
Ich habe ein struct array mit dem ich Parameter aus einem parameter
sheet einlesen möchte und mit dem ich ein Parameter sheet erstellen
möchte.
Da die Parameter unterschiedliche Typen haben können verweise ich per
void Pointer auf die Variablen. In der Routine zum Einlesen, bzw.
Schreiben sollen die Pointer dann entsprechend gecastet werden.
1 | #define NAME(var) &(var),(#var)
|
2 |
|
3 | enum Type{
|
4 | INT,
|
5 | FLOAT,
|
6 | CSTRING
|
7 | };
|
8 |
|
9 | struct names{
|
10 | void *var;
|
11 | char *name;
|
12 | int size;
|
13 | Type type;
|
14 | };
|
15 |
|
16 | names params[]={
|
17 | {NAME(param1),1,FLOAT},
|
18 | {NAME(param2),1,INT},
|
19 | {NAME(test1.param3),1,INT},
|
20 | };
|
Meine eigentliche Frage lautet nun:
Klappt das so mit dem Makro und
wie müsste das Präprozessormakro aussehen, damit ich von test1.param3
nur param3 stringifiziere.
Vielleicht habe ich ja auch nur einen Denkfehler oder es gibt ne
einfachere Methode.
Wer kann helfen?