StringSetCharacter

Gibt die Kopie des Strings mit dem veränderten Symbolwert in der angegebenen Position zurück.

bool  StringSetCharacter(
   string&   string_var,       // String
   int       pos,              // Position
   ushort    character         // Symbol
   );

Parameter

string_var

[in][out]  String.

pos

[in] Symbolposition im String. Kann von  0 bis StringLen(text) sein.

character

[in]  Symbolkode Unicode.

Rückgabewert

Im Erfolgsfall gibt true zurück, anderenfalls false. Für die Erhaltung des Kodes des Fehlers muss die Funktuon GetLastError() aufgerufen werden.

Hinweis

Wenn Wert pos weniger als Stringlaenge ist und der Wert des Symbolkodes  = 0, wird der String reduziert  (aber Puffergroesse, der für den String verteilt wurde, ist unverändert). Stringlaenge wird gleich pos.

Wenn Parameterwert pos ist gleich der Stringlaenge, wird das angegebene Symbol zum Stringende hinzugefuegt, und die Stringlaenge wird um 1 vergroessert.

Beispiel:

void OnStart()
  {
   string str="0123456789";
   Print("before: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- Fuegen wir Nullwert in die Mitte der Zeile 
   StringSetCharacter(str,6,0);
   Print("  after: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) =",StringLen(str));
//--- fuegen wir Symbol zum Ende der Zeile hinzu 
   int size=StringLen(str);
   StringSetCharacter(str,size,'+');
   Print("addition: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) =",StringLen(str));
  }
/* Ergebnis
   before: str = 0123456789 ,StringBufferLen(str) = 0   StringLen(str) = 10
    after: str = 012345 ,StringBufferLen(str) = 16   StringLen(str) = 6
   addition: str = 012345+ ,StringBufferLen(str) = 16   StringLen(str) = 7
*/

Sehen Sie auch

StringBufferLen, StringLen, StringFill, StringInit, CharToString, ShortToString, CharArrayToString, ShortArrayToString