StringSetCharacter

Retorna uma cópia de uma string com um caractere alterado na posição especificada.

bool  StringSetCharacter(
   string&   string_var,       // string
   int       pos,              // posição
   ushort    character         // caractere
   );

Parâmetros

string_var

[in][out]  String.

pos

[in]  Posição de um caractere em uma string. Pode ser de 0 a StringLen(text).

character

[in]  Código Unicode de um símbolo.

Valor do Retorno

Em caso de sucesso retorna verdadeiro, caso contrário falso. A fim de obter o código de erro, a função GetLastError() deve ser chamada.

Observação

Se pos for menor que o comprimento da string e o valor de código do símbolo = 0, a string é truncada (mas o tamanho de buffer, alocado para a string permanece inalterado). O comprimento da string se torna igual a pos.

Se pos for igual ao comprimento da string, o símbolo especificado é adicionado ao final da string, e o comprimento é aumentado em um.

Exemplo:

void OnStart()
  {
   string str="0123456789";
   Print("antes: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- adicionado valor zero no meio
   StringSetCharacter(str,6,0);
   Print("após: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- adiciona símbolo no final
   int size=StringLen(str);
   StringSetCharacter(str,size,'+');
   Print("adição: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
  }
/* Resultado
   antes: str = 0123456789 ,StringBufferLen(str) = 0   StringLen(str) = 10
    após: str = 012345 ,StringBufferLen(str) = 16   StringLen(str) = 6
   adição: str = 012345+ ,StringBufferLen(str) = 16   StringLen(str) = 7
*/

Também Veja

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