StringSetCharacter

Devuelve copia de una cadena con el valor de símbolo modificado en una posición especificada.

bool  StringSetCharacter(
   string&   string_var,       // cadena
   int       pos,              // posición
   ushort    character         // símbolo
   );

Parámetros

string_var

[in][out]  Cadena.

pos

[in]  Posición del símbolo en la cadena. Puede ser de 0 a StringLen(text).

character

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

Valor devuelto

En caso de éxito devuelve true, de lo contrario devuelve false. Para obtener el código de error hay que llamar a la función GetLastError().

Nota

Si el valor pos es menos que la longitud de la cadena y el valor del código de símbolo = 0, la cadena se recorta (pero el tamaño del buffer distribuido para esta cadena se queda sin cambiar). La longitud de la cadena se iguala a pos.

Si el valor de parámetro pos es igual al valor de longitud, el símbolo especificado se añade al final de la cadena, de esta manera la longitud se aumente a uno.

Ejemplo:

void OnStart()
  {
   string str="0123456789";
   Print("before: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- introducimos el valor cero entre la cadena
   StringSetCharacter(str,6,0);
   Print("  after: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- añadimos el símbolo al final de la cadena
   int size=StringLen(str);
   StringSetCharacter(str,size,'+');
   Print("addition: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) =",StringLen(str));
  }
/* Resultado
   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
*/

Véase también

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