Präprozessor String Konkatinieren
-
Hallo,
meine Frage ist wie kann ich eine DEFINE Anweisung erst in Single Quotes verpacken als auch in Double Quotes.
Als Beispiel ich hab ein#define SEPERATOR ,
diesen will ich in >>'<< Singe Quotes verpacken damit ich ihn mit
printf("%c\n", FUNC1(SEPERATOR) ); // sowohl als auch mit ausgeben kann. printf("%s\n", FUNC2(SEPERATOR) );
Wie mache ich das? Bei FUNC2 würde ich auch gerne noch zum SEPERATOR ein Leerzeichen hinzufügen.
-
Allgemein für alle Zeichen und insbesondere auch für Kommas ist es nicht möglich, ein Zeichen per Präprozessor in einzelne Anführungszeichen zu packen.
edit: Aber Idee:
#define TO_CHAR(c) (#c[0])
Ist zwar nicht das, wonach du fragst, sollte funktionell aber das gleiche erreichen.
-
Ohh schade.
Vielen Dank für deine schnelle Antwort.
-
Macht denn mein Alternativvorschlag nicht, was du letztlich willst? Dir ist doch sicher nicht wichtig, dass da unbedingt ein char-Literal steht, sondern dass da ein char mit einem bestimmten Wert steht.