Zahlen- Define als String
-
Hallo an alle,
ich habe das Problem dass wir das folgende
define so definiert haben:#define MASCHINEN_NR 57337das wurde dann z.B. so verwendet:
int nMaschinenNr = MASCHINEN_NR;nun soll das ganze aber in einen String
umgewandelt werden:#define MASCHINEN_NR 57337_1 char strMaschinenNr[20] = " MASCHINEN_NR ";so wie hier dargestellt funktionierts natuerlich nicht,
aber genau dafuer such ich ne Loesung.
Mein Problem ist, dass ich das define nicht in#define MASCHINEN_NR "57337_1"abaendern kann.
Weis vielleicht von euch jemand ne Loesung?
Gruss Ulli
-
Dafür gibt es den Präprozessor-Operator #:
#define str(x) str2(x) #define str2(x) #x char strMaschinenNr[20] = str(MASCHINEN_NR);(die Zwischenstation ist notwendig, weil der Präprozessor sonst das übergebene Makro nicht auswerten würde)
-
Vielen Dank fuer die superschnelle Antwort,
Problem geloest und wieder was dazu gelernt,
nochmals Danke!