Strings aus Makros
-
Hi:
#include <stdio.h> #define TXT = abc int main() { const char *s = TXT; // ?? printf("%s\n", s); }
Ist es moeglich, dass das Programm hinterher "abc" ausgibt, ohne den Inhalt des TXT-Makros mit Anfuehrungszeichen zu versehen?
Danke!
-Gunnar
-
dein script würde nen fetten fehler bringen, weil es gleichbedeutend mit dem hier ist:
#include <stdio.h> int main() { const char *s = = abc; // ?? printf("%s\n", s); }
wenn schon, dann so:
#include <stdio.h> #define TXT "abc" int main() { const char *s = TXT; // ?? printf("%s\n", s); }
-
Eventuell hilft dir sowas
#include <stdio.h> #define STRING(_x_) #_x_ int main() { const char *s = STRING(abc); printf("%s\n", s); }
-
Genau das brauche ich, danke! Aber ich verstehe das Makro nicht. Ist da ein Preprozessoroperator drin, von dem ich nichts weiss?
-Gunnar
-
Gunnar_ schrieb:
Ist da ein Preprozessoroperator drin, von dem ich nichts weiss?
Ja.