StringSetCharacter

Restituisce una copia di una stringa con un carattere modificato in una posizione specificata.

bool  StringSetCharacter(
   string&   string_var,       // stringa
   int       pos,              // posizione
   ushort    character         // carattere
   );

Parametri

string_var

[in][out]  Stringa.

pos

[in] Posizione del carattere nella stringa. Può essere da 0 a StringLen(text).

character

[in] Codice Unicode del simbolo.

Valore restituito

In caso di successo restituisce true, altrimenti false. Al fine di ottenere un codice di errore, deve essere chiamata la funzione GetLastError().

Nota

Se pos è minore della lunghezza della stringa ed il valore del codice del simbolo = 0, la stringa è tagliata (ma la grandezza del buffer, distribuita per la stringa rimane invariata). La lunghezza della stringa diventa uguale a pos.

Se pos è uguale alla lunghezza della stringa, il simbolo specificato viene aggiunto alla fine della stringa, e la lunghezza è allargata di uno.

Esempio:

voidOnStart()
  {
   string str="0123456789";
   Print("prima: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- aggiunge il valore zero nel mezzo
   StringSetCharacter(str,6,0);
   Print("after: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- aggiungere simboli alla fine
   int size=StringLen(str);
   StringSetCharacter(str,size,'+');
   Print("aggiunta: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
  }
/* Risultato
   prima: str = 0123456789 ,StringBufferLen(str) = 0   StringLen(str) = 10
    dopo: str = 012345 ,StringBufferLen(str) = 16   StringLen(str) = 6
   aggiunta: str = 012345+ ,StringBufferLen(str) = 16   StringLen(str) = 7
*/

Vedi anche

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