003
19.01.2004, 17:34 Uhr
(un)wissender
Niveauwart
|
Das funzt bei mir, aber ich weiß nicht, wie ich mit dem Preprozessor beliebig große Arrays bekomme, man könnte evtl. strcat nutzen, aber toll ist das nicht.
C++: |
#include <cstdlib> #include <cstdio>
#define VERSION 10 #define REVISION 20 #define PATCHLEVEL 30
#define makeString(c,v,r,p) sprintf(c, "%d.%d.%d", v, r, p) > 0 ? c : "Error!" #define my_charArray (char[]){0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} #define VERSIONSTRING(v,r,p) makeString(my_charArray,v,r,p)
int main() { printf("Application %s\n", VERSIONSTRING(VERSION,REVISION,PATCHLEVEL)); return 0; }
|
-- Wer früher stirbt ist länger tot. |