CXI-Basis-Programmierreferenz / Version 2 / Datenspeicherung / CxiNode / Typübergreifende Funktionen /
CxiError CxiNode :: SubstituteString (char *buffer, unsigned int size) const
CxiError cxiSubstituteString (CxiHandle self, char *buffer, unsigned int size)
Fügt Variablenwerte in einen String ein
buffer:
Ein- und Ausgabepuffer
size:
Größe des Puffers
return:
0 ok, sonst Fehler
Diese Funktion ersetzt Steuersequenzen der Form %NAME% im Puffer durch den jeweiligen Wert aus dem Datenbehälter. Der Puffer muss beim Aufruf der Funktion den nullterminierten Ausgangsstring enthalten, er wird an Ort und Stelle manipuliert.
Die Groß-/Kleinschreibung der Variablennamen ist nicht relevant, %NAME1% ist gleichbedeutend mit %Name1%.
Nach jeder Ersetzung wird der eingesetzte Teilstring nochmals auf Steuersequenzen untersucht, geschachtelte Ersetzung ist daher möglich.
Die Steuersequenz %% erzeugt ein (einzelnes) Prozentzeichen im Ergebnisstring.
Alle Variablenwerte werden für die Einsetzung automatisch in Zeichenketten konvertiert, falls sie nicht vom Typ cxiTypeStr sind. Bei Stringlisten wird nur das erste Element berücksichtigt. Die Konvertierung erfolgt nur intern, der Datenbehälter bleibt unverändert.
Wird eine Variable nicht gefunden, bleibt die Steuersequenz unverändert stehen. Alternativ kann ein Defaultwert angegeben werden, der dann eingesetzt wird: %Name1=NoName%. Soll der Defaultwert als Variablenname aufgefasst werden, muss == verwendet werden, Kettenausdrücke sind möglich: %LogPath==DatPath==BinPath=C:\%.
Portabilität:
Diese Funktion ist ab Version 2.09 24 definiert und in allen unterstützten Systemen verfügbar.
Siehe auch:
SetFromStringOrFile - String oder Datei in Block konvertieren
SetFromString - String in Block konvertieren
SetFromLine - Zeile in Block konvertieren