Hallo
Ich möchte gerne das "esp01" mit einer Variable ersetzten so dass ich das dann einmal in einer Variable definieren kann und nicht überall erneut esp01 hineinschreiben muss.
den define Kram lässte mal bitte weg. Nur für Dinge die wirklich nicht anders möglich sind.
Wenn das nur für eine reine Textausgabe sein sollte, dann kannste dir ein struct bauen und gibts alles benötigte hintereinander aus. Dann das sieht zusammenhängend aus. Im struct legste dir alle Teiltexte an die du kombinieren möchtest.
christian181005:
Ich möchte gerne das "esp01" mit einer Variable ersetzten so dass ich das dann einmal in einer Variable definieren kann und nicht überall erneut esp01 hineinschreiben muss.
christian181005:
Nein es soll direkt in der const variable eingesetzt werden
Nein, das geht nicht!
Wenn Du meinen Ansatz nicht willst, kannst Dir eine Funktion schreiben, die Dir als Rückgabewert das zusammengebastelte liefert.
Beides in Einem ist ausgeschlossen.
wno158:
Ich habe hier einen kranken Ansatz mit einem #define und ein paar const char*
#define NAME "esp01/"
const char* relayTopic = NAME"relay";
Liefert diese Ausgabe:
19:07:57.269 -> esp01/relay
Der ist gut
Da macht der Preprozessor den Ersatz.
NAME muss ja doch noch jedesmal geschrieben werden.
Ok. Punkt wäre, wenn Name nur N wird.
Aber - und jetzt kommt mein Einwand:
Der Ersatz geht eben nicht zur Laufzeit...
Die Anforderung ist allerdings auch etwas unscharf. Wenn es nur darum ginge, an nur einer Stelle diesen "prefix" esp01 ändern zu müssen wenn es ein raspi137 werden soll, könnte es reichen.
Und nein, produktiv würde ich sowas nicht einsetzen, sondern die Teile Ebene für Ebene zusammenbauen.
Ich bin ja immer davon ausgegangen, das #define irgendwie vermieden werden soll.
Jetzt machst Du das aber sogar doppelt gemoppelt.
Ich seh den Unterschied zu wno158 seinem Code nicht.
Vielleicht bin ich ja auch nur betriebsblind, aber ich würde das ganze irgendwie mit einer Funktion lösen, wenn mein Code von oben nicht reicht um das zur Laufzeit zu bewerkstelligen.
Andere Ideen?
Frage an den TO: Muss das zur Laufzeit zusammengestellt werden oder suchst Du nur einen Ersatz für eine "Autovervollständigenfunktion" im Editor.